、私はawk -F'|' '{print $1;}' file.csv > file2.csv
mysqlのスクリプトbashのループ
を行う際
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
私は次の表IDを取得
12345
67891
32234
22345
12345
私はループの持っていますこれはこのように動作します
for i in `cat file2.cvs`
do
DELETE FROM TABLE1 WHERE ID = $i
done
しかし、これは私のボックスに高負荷を発生させる、私は(file2.csvから100レコードごとに)操作を分割して、削除を実行してから1秒間スリープしてファイルの終わりまで。
お手数をおかけしますようお願い申し上げます。
は100人ごと削除した後、1秒間眠っよりもむしろあなた
これまでの内容を表示できますか? – Dan
あなたは 'DELETE FROM mytable WHERE ID IN(12345,67891、...)'のようなものをそれぞれ100個のIDのブロックで実行したいと思っていると思いますか? –
あなたは一度にmysqlの一時テーブルにそれらをロードしてから、awk/perl/bashで終わるのではなく、削除するIDのソースとして使ってください。 –