ハマログ

株式会社イーツー・インフォの社員ブログ

OPTIMIZE TABLE / MySQL

OPTIMIZE TABLEは次のような機能です

[引用元] 12.5.2.5. OPTIMIZE TABLE 構文
http://dev.mysql.com/doc/refman/5.1/ja/optimize-table.html

InnoDB テーブルに対しては、 インデックス統計とクラスタされたインデックス内の使用されていないフリー スペースを更新する為にテーブルを復元する ALTER TABLE に OPTIMIZE TABLE がマップされます。

MySQLのコマンドラインから大量のレコードをテーブルへ登録し、その一部を削除します
その後、そのテーブルへレコードを更新や登録するアプリケーションを実行するということを行います
このような操作を行った時に、アプリケーションの処理時間が増加することがあります
このような場合にOPTIMIZE TABLEを実行すると改善することがあります

[引用元] 大人のためのInnoDBテーブルとの正しい付き合い方。
http://nippondanji.blogspot.jp/2010/09/innodb.html

少し話がそれてしまったが、OPTIMIZEが必要になるのはどういう時だろうか?簡単にいうと、「行をDELETEのして無駄な領域がたくさん生じたとき」だけである。これによって、利用されていない領域が回収されることになる。そして、フラグメンテーションが解消するわけである。

バックアップの復帰や削除運用など、大量のデータをテーブルに投入や削除することがあるときは、OPTIMIZE TABLEを実行することを頭の片隅に置いておくと
いいことあるかもしれませんね

なんとも歯切れの悪いエントリーでした :P

DBmysqlsqlデータベース

  桑原 光昭   2013年9月8日


関連記事

Tomcat~DBコネクションプール設定

現象 ちょっと前に少しはまった(困った事)があったので同じ人がいたらと思い、書き…

APC導入でPHPのパフォーマンスアップ

こんにちは池島です。PHPにAPCを導入したのでその時の記録を書きます。 導入し…

gitのお引越し手順について

どうも!wingmanです。 春は引越しのシーズンですね! ってことで備忘録も兼…


← 前の投稿

次の投稿 →