ハマログ

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

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日


関連記事

LaravelのEloquent,Query Builderで値をランダムソートする

検証環境 PHP5.6 Laravel5.3 Laravel5.2からEloqu…

Homebrewで違うバージョンのMySQLを入れようとしたら若干ハマった

はいどーも! HomebrewでMySQL5.6をインストールしたくて、とりあえ…

Advent Calendar の紹介

どうもーyasuです~ いきなり寒くなりましたね。体調管理に気を付けますー 一つ…


← 前の投稿

次の投稿 →