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

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

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

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

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

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

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

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

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

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

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

最終更新日:

関連記事

人気記事

新着情報