先日phpMyAdminでWordPressのデータベース見たときに、オーバーヘッドが気になったのでWordPressでプラグインを入れてDBの最適化を行いました。
仕事で作った在庫管理DBも最適化してみようかなー?と思って見てみたら、、、意外にもオーバーヘッドがありませんでした。
ゴリゴリ使ってるからオーバーヘッドあるだろうと決めつけていたので、かなりびっくり。
ということで、今回はオーバーヘッドができたときの対応(DBの最適化)と未然に防ぐ(できにくくする)方法のお話。
オーバ―ヘッドとは、データベースにできる隙間(未使用)のようなもの
利用頻度とは関係なく、WordPressはオーバーヘッドが出来やすい
「mySQL オーバーヘッド」でググると、WordPressのことばかり…それだけWPユーザーが多いということなのですが、でもこれだけ出てくるとWPはオーバーヘッドが出来やすいということなのでしょう。
オーバーヘッドが原因でサイトが激重だとか開かないとか深刻な言葉がちらほら…(((( ;゚Д゚)))ガクガクブルブル
前日に最適化したのにオーバーヘッドができてる、WPのデータベース
WPのDBは画像の通り、塗りつぶし部分はテーブルの接頭辞です。
前日にプラグインでDBの最適化をしたのに、記事を投稿したからか、もうオーバーヘッドがあります。簡単になっちゃうモノなんですねぇ。
7000レコードある在庫管理DBはまさかのオーバーヘッドなし!
一方、在庫管理DBは『仕入れたら入力・売れたら修正』という作業を繰り返してます。
※ダークグレーのトコロはビューなので関係ないので塗りつぶしました。
CMSではなくPHPで管理画面作ってSQLで書き込みしています。
で、稼働し始めて7か月経った今7000レコード。アラ増エタワネー
7000レコードの商品登録テーブル(3行目のitem)以外は、仕入れ元や商品カテゴリなどのテーブル。
WPより運用開始時期が新しいのに、毎日ゴリゴリ入力修正されているのに、オーバーヘッドがゼロ…だと…っ?
オーバーヘッドができたら最適化
DBを最適化する方法は2つ。
- WPなら、プラグイン『WP-Optimize』や『WP-DBManager』
- phpMyAdminで、SQL書いて実行『optimize tables `テーブル名`』
詳しいやり方は他サイトさんみてみてくださいねー。
必見!WPの場合、オーバーヘッドを出来にくくすることも出来る
原因の一つ、リビジョン機能を制限する
WPにはリビジョン機能というのがあって、記事の更新履歴を残してくれるんです。
私は下書き状態で記事を書いていくのですが…けどねぇこんなに要らないですよねぇw
wp-config.phpに以下をコピペ。
[code]
define('WP_POST_REVISIONS', 5);
[/code]
最後の5という数字が、5件、という制限になります。リビジョン要らないときは、5のところをfalseにすればOK。
コレで、少しは憂いが軽減できるはず…!