table・indexの更新

DELETE、INSERTを頻繁に繰り返すような使い方をするとBツリーの構造がぐちゃぐちゃになりパフォーマンスが落ちる。

解説
indexでランダムに挿入、削除が行われると、indexがフラグメント化される事がある。
フラグメントの弊害

  1. テーブルサイズが必要以上に大きくなる
  2. IndexにないカラムをWHEREした場合、時間がかかる

解決策
インデックスを最適化する

MyISAM

  1. OPTIMIZE TABLE
  2. ANALIZE TABLE
  3. mysqlcheck -a

InnoDB

  1. ALTER TABLEする※
  2. dump突っ込みなおす

innodb_file_per_tableの場合、テーブルサイズも小さくなる

参照
http://www.mysql.gr.jp/mysqlml/mysql/msg/13080