У меня есть CSV-файл содержит список номеров,MySQL петля скрипт Баш
479856252|1329148400996|1329148405406|1329148412444|0|6042292534|6042292534|14016487697|0|6
479856262|1329148401487|1329148405287|1329148412444|0|6136992594|6136992594|14016487697|0|6
479856272|1329148405124|1329148405124|1329148412470|0|8883398128||4016487697|0||P|0|7
479856282|1329148114930|1329148117966|1329148412502|0|8006564132|8779918502|7657954163|2609
когда я awk -F'|' '{print $1;}' file.csv > file2.csv
Я получаю следующие идентификаторы таблиц
12345
67891
32234
22345
12345
У меня есть цикл который работает следующим образом
for i in `cat file2.cvs`
do
DELETE FROM TABLE1 WHERE ID = $i
done
, однако это создает большую нагрузку на мой ящик, я надеюсь, что я мог бы разделить операцию (для каждых 100 записей из файла file2.csv) выполнить удаление, а затем спящий на 1 секунду, оставшиеся значения до конца файла ,
Ваша помощь очень ценится.
Спасибо
Можете ли вы показать, что у вас есть до сих пор? – Dan
Правильно ли я понимаю вас, если вы хотите запустить что-то вроде 'УДАЛИТЬ ОТ mytable WHERE ID IN (12345,67891, ...)' в блоках по 100 идентификаторов каждый? –
Вам было бы лучше загружать их во временную таблицу в mysql за один раз, а затем использовать это как источник идентификаторов для удаления, вместо того, чтобы уклоняться от awk/perl/bash. –