MySQL 大量データ削除:千万行を効率的に削除する方法

MySQLでは、DELETE文とLIMITキーワードを組み合わせて大量のデータを一括削除することができます。一度にすべてのデータを削除することによるパフォーマンス問題やデータベースのロックを回避するためです。

たとえば、表の最初の1000万行のデータを削除するには、次のステートメントを使用できます:

DELETE FROM table_name LIMIT 10000000;

この操作は表から最初の1000万件のデータを削除します。削除するデータがそれ以上の場合は、同様のステートメントを複数回実行し、すべてのデータが削除されるまで、毎回一定数のデータを削除してください。

TRUNCATE TABLE文を使用して表内の全データを削除し、残したいデータだけを再挿入する方法も考えられます。これは一括でデータを削除するので通常はデータの一つ一つを削除するよりも効率的ですが、TRUNCATE TABLE文は表内の全データを削除するため、注意が必要です。

bannerAds