ハマログ

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

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日


関連記事

Data URI schemeのおはなし

こんにちは、かねこです。 ウェブサイト高速化やろうぜ!ということで、高速化みたい…

LaravelでのSymfony脆弱性対応について(CVE-2015-2308)

Symfonyのコードインジェクション(CVE-2015-2308: Esi C…

自分のノートパソコンを手軽にハイスペックにする方法

みなさん こんにちは わが会社は色々な人がいて、いつもわいわい、にこにこで、時に…


← 前の投稿

次の投稿 →