ハマログ

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

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日


関連記事

Amazon Linux2でLocaleを変更してみた

  はじめに どうも!T-utsuです。 最近なにかとAWSをいじるこ…

Laravel Passportを使ったOauthサーバ

Oauth2.0の認可サーバを構築したいと思いLaravel Passportを…

WordPressで管理画面からテーマ編集時にエラー

はじめに WordPressの管理画面からテーマファイル(外観→テーマ編集)を編…


← 前の投稿

次の投稿 →