Optimize(最適化)って何よ。
とにかく最適化だ。
MySQLのリファレンスより
もしテーブルの大部分を削除したり、変数長行で何箇所もテーブルを変更した場合は(
VARCHAR
、VARBINARY
、BLOB
、またはTEXT
カラムを持つテーブル)、OPTIMIZE TABLE
を利用しなければいけません。
データの変更が頻繁にあったりするとオーバーヘッドってのが増えてきて良くない。
phpMyAdminを見る事ができる人は、上の画像のオーバーヘッドってとこにサイズが表示されていたら最適化した方が良い。
Joomla!1.5の場合jos_sessionテーブルが、オーバーヘッドがある可能性が高い。しかも量も多い目。
そこで最適化することにする。
該当のテーブルの構造を表示すると右の画像のようにディスク使用量の下方に「テーブルを最適化する」というリンクが表示されているのでそれをクリックするのみです。
でも、これでは毎回phpMyAdminを開いてテーブル構造を開きクリックしなきゃならないので面倒です。
extensions.joomla.orgで検索するとプラグインでありました。
これは、毎日前テーブルを最適化してくれるようです。自動で。
自動というと誰かがアクセスしたら起動するものなので、私にはこれで十分そうだけど、Cronで実行したい方は、自分で作るか他のエクステンションであれば、それを利用するしかない。
ただ、実行はMySQLのリファレンスにもあるように
ほとんどの設定で、
OPTIMIZE TABLE
を利用する必要は全くありません。可変長行の更新を頻繁にするとしても、特定のテーブルに対してだけ、この作業を週に一度、または月に一度以上する必要はありません。
そうそう頻繁にする必要はなさそうだ。もちろん、サイトの状態によるだろうが。
先の、プラグインは毎日実行するようになっているようなのでその部分を少し変更すれば、自分のサイトにあった実行数に変更は、可能です。ただ、いったい何日に一度が最適なのかわかりませんけどね。