MySQL5逆引き大全460の極意

データベース管理言語の極意 - Tips227 テーブルを最適化するには

登録タグ
SQL
Icon comment count 0
Icon stock count 0

8-3テーブル保守Tips227 テーブルを最適化するには

Level2

PointOPTIMIZE TABLE命令を利用します

構文   
OPTIMIZE [NO_WRITE_TO_BINLOG|LOCAL] TABLE テーブル名 [,...]

OPTIMIZE TABLE命令は、MyISAM、InnoDB、ARCHIVE型のテーブルを対象に最適化を行います(それ以外のテーブル型に対する場合、OPTIMIZE TABLE命令は無視されます)。

具体的には「データファイルのデフラグメント処理」「インデックスページのソート処理(ソートされていない場合)」「統計情報が更新されていない場合、その更新」を行います。テーブル——特に可変長のフィールドに対して大量のデータを挿入/削除した場合には、データファイルにフラグメンテーション(断片化)が発生します。極端なフラグメンテーションはパフォーマンス低下の原因にもなりますので、適宜、最適化処理を行うことをお勧めします。

NO_WRITE_TO_BINLOGオプションが指定された場合、最適化の実行情報はバイナリログに記録されません(エイリアスとしてLOCALオプションを指定することも可能です)。

OPTIMIZE

出典情報

Medium

MySQL5逆引き大全460の極意

  • 著者: 山田 祥寛

コメント

    コメントはありません