テーブルから大量のデータを削除する削除クエリがあります。クエリは次のようになります膨大なデータを削除する削除クエリの速度を上げますか?
While loop
DELETE FROM table_name WHERE id=12345;
End loop
このクエリは1000個のデータをフェッチします。
ループが巨大であるだけでなく、クエリによって削除されるデータも非常に巨大です。その結果、システムは非常に遅くなります。それを最適化する方法が必要です。
注:ストレージエンジンInnoDBの
おかげ
ループ全体がトランザクションで実行されますか?反復可能な読み取り分離レベルの長いトランザクションは、MySQLが常にデータを取得するためにロールバックログを読み取る必要があるため、パフォーマンスを低下させる可能性があります。 –