MySQLのインデックス最適化コマンド

サラトガIT日記 > MySQL > MySQLのインデックス最適化コマンド MySQLのインデックス最適化コマンド

※実経験の記憶を頼りに自宅の PC 環境(VMWareなど)で再現している内容もあるのでご注意下さい

2011-07-07

 

PostgreSQL の運用には散々悩まされた記憶がありますが、MySQL にも最適化の運用コマンドは用意されています。しかし、PostgreSQL ほど頻繁にメンテナンスする必要もなく、変更が多いテーブルでもそこまでシビアにならなくて良さそうです。

また、インデックスの最適化については InnoDB の場合は自動で行ってくれるので意識する必要はありませんが、最適化が行われる条件は決まっているので、すべてが常に最適化されているわけではありません。

例えば、前回インデックスが更新が行われてから以下のパターンに当てはまった時にインデックスの最適化対象となります。

・テーブル行数全体の 1/16 が更新される
・20億行以上更新される

ちなみに、最適化に使用するコマンドは以下です。

# テーブル最適化(ロックが掛かるので注意)
mysql> optimize table [テーブル名];

# インデックスのみ最適化
mysql> analyze table [テーブル名];

MySQL を長期間運用する場合は、覚えておきたいですね。

関連記事

上記の記事に関連する記事(最新の10件)です。