2010年01月07日20:53 MySQL DELETEが遅すぎて… ヽ(゚Д゚)ノゴルァァア!! とある事情で数千万行あるテーブルから、特定の条件に一致する百万〜二百万行くらいを削除したかったんです。で、最初は普通に DELETE FROM table_name WHERE name = 'xxx'; ってやってみたんですが、、、おっ、遅い!!4時間くらい待ってもウンともスンとも言いません...orz DELETEって削除対象の行を全て見つけてから一気に削除を行う(多分)ので、結局全てのデータが見つかるまでは何も実行されません。しかも処理中はどこまで進んだのかもわからないので心臓に悪い(これ調べる方法ってありますか?)。かといって、途中で止めちゃうと何も削除されてない状態だし。。 「これは我慢ならない」と思ってこういう感じのスクリプトにして走らせました。別になんてことは無いですが、少