我有2個文件。第一個文件包含數據庫中表的元組的行ID列表。 而第二個文件包含查詢的「where」子句中的這些行ID的SQL查詢。在UNIX中從另一個文件中查找一個文件的內容
例如:
文件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搜索所有匹配的行ID的SQL命令來自文件1並將這些SQL查詢轉儲到第三個文件中。
文件1有1,00,000個條目,文件2包含文件1的條目的10倍,即1,00,0000。我使用grep -f File_1 File_2 > File_3
。但這個速度非常慢,每小時1000個條目。
有沒有更快的方法來做到這一點?
盡一切所使用文件1中提到的行ID的查詢最終在同一個輸出文件中,還是您希望文件1中的每個行ID都有單獨的文件? –
您是否允許對ID上的文件進行排序?或者訂單是否需要保存? – fizzer
只有一個輸出文件。 每次來自文件1的條目都與文件2中的條目匹配時,文件2的該條目應該被轉儲到輸出文件中。文件1和文件2中的條目是唯一的。在任何文件中都沒有重複的行。 – Tirthankar