У меня есть 2 файла. Первый файл содержит список идентификаторов строк кортежей таблицы в базе данных. Второй файл содержит SQL-запросы с этим идентификатором строки в предложении "where" запроса.
Например:
Файл 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 и выполнить поиск в файле 2 для всех команд SQL, которые соответствуют идентификатору строки из файла 1, и сбрасывать эти SQL-запросы в третьем файле.
Файл 1 имеет 1 000 000 записей, а файл 2 содержит 10 записей в файле 1, то есть 1,000000.
Я использовал grep -f File_1 File_2 > File_3
. Но это очень медленно, и скорость составляет 1000 записей в час.
Есть ли более быстрый способ сделать это?