MySQLでテーブルの大量のレコードを削除する方法
例 テーブルsyslogsは1000万レコードがある、業務の停止しなかった場合に「statusid=2」のすべてレコードを削除する
レコード数は約400万個です。
方法1 DELETE FROM syslogs WHERE statusid=1
結果:失敗 「lock wait timeout exceed」エラーメッセージが表示される
方法2 limitパラメータを通じて何回かに分けて削除
DELETE FROM syslogs WHERE status=1 ORDER BY statusid LIMIT 100000;