タグ

ブックマーク / blog.gumu-lab.com (1)

  • テーブル最適化(や大量のDELETE)をほぼ無停止で行う | Gumu-Lab.

    MySQLだとDELETEがとても重いです。10000件程度なら余裕ですが、100000件、1000000件にもなると手のつけようがないレベルです。その間MyISAMだとテーブルロックがかかるし、DELETEしすぎると今度は断片化してOPTIMIZE TABLEでもしないと速度低下が始まります。 OPTIMIZE TABLEやALTER TABLEはものすごく時間がかかることがあるんですよね。今回DELETEしようとしたテーブルはWebでの表示に必須の部分でして、どうせならWebをできるだけ落とさずにやってみるかという挑戦でした。 今回DELETEするのは27000000件くらいです。無理です。 処理を一度にできないと踏んだので、DELETEを増加量より多いLIMITで走らせればだんだんと減っていくのではないかと考え、実行。 ごり押しでLIMIT指定で絞ったDELETEを走らせた結果900

    k-holy
    k-holy 2017/09/11
  • 1