私は2つのファイルを持っています。最初のファイルには、データベース内のテーブルのタプルの行 ID のリストが含まれています。2 番目のファイルには、クエリの「where」句にこれらの行 ID を持つ SQL クエリが含まれています。
例えば:
ファイル 1
1610657303
1610658464
1610659169
1610668135
1610668350
1610670407
1610671066
ファイル 2
update TABLE_X set ATTRIBUTE_A=87 where ri=1610668350;
update TABLE_X set ATTRIBUTE_A=87 where ri=1610672154;
update TABLE_X set ATTRIBUTE_A=87 where ri=1610668135;
update TABLE_X set ATTRIBUTE_A=87 where ri=1610672153;
ファイル 1 を読み取り、ファイル 1 の行 ID に一致するすべての SQL コマンドをファイル 2 で検索し、それらの SQL クエリを 3 番目のファイルにダンプする必要があります。
ファイル 1 には 1,00,000 エントリがあり、ファイル 2 にはファイル 1 の 10 倍のエントリ、つまり 1,00,0000 が含まれています。
使用しgrep -f File_1 File_2 > File_3
ました。しかし、これは非常に遅く、速度は 1 時間あたり 1000 エントリです。
これを行うより速い方法はありますか?