WP-Optimizeでエラーが出たら確認すること【DB最適化】

WP-Optimizeでエラーが出たら確認すること【DB最適化】

 Wordpressでブログの投稿記事が増えてくると、動作が重くなってくることがあります。

それらに対応するためにいろいろな方法でWordpressを高速化するプラグインが公開されています。

そのひとつにデータベース最適化という方法があります。

データベース最適化プラグインといえばWP-Optimize

 データベース最適化プラグインの代表格といえば「WP-Optimize」です。

 私も今までに作ったサイトやブログでは、このWP-Optimizeを使ってデータベース最適化やリビジョンの削除などを行ってきました。

今回、新しくブログを立ち上げるために、ネットオウルが提供するレンタルサーバーの「スターサーバー」を使用しました。
このスターサーバーは旧ファイアバードなどが、新たにスターサーバーとして生まれ変わった比較的新しいサービスです。

 このスターサーバーで作り始めたブログにも当然のようにこのWP-Optimizeをインストールしていましたが、データベースが最適化されていないことに気付きました。

WP-OptimizeではInnoDBを最適化できない

 スターサーバー上のWordpreessをWP-Optimizeで最適化を行うと画像のようなエラーメッセージが出ました。

Tables using the InnoDB engine (14) will not be optimized. Other tables will be optimized (0).

「InnoDBエンジンを使用する14個のテーブルは最適化されません。他のテーブル0個のテーブルは最適化されます。」

 つまり、WP-OptimizeはストレージエンジンがInnoDBのデータベースには対応していないようです。

ストレージエンジンの違い

 ストレージエンジンがどのようなものか詳細を知りませんが、MySQLの特徴のひとつのようで、その種類には「InnoDB」と「MyISAM
の2種類があるようです。

「gihyo.jp」様の記事によると
ストレージエンジンとは,パーサによって最適化されたSQLクエリを実際に実行する機能部分です。MySQLではさまざまなテーブル型に対するSQL操作を処理するコンポーネントとしてストレージエンジンを提供しています。主に利用されていたストレージエンジンはInnoDBとMyISAMです。InnoDBはMySQL5.5からデフォルトのストレージエンジンとなっており,MyISAMと違いトランザクションが利用できます。

一昔前では頻繁な更新のあるテーブルはInnoDB,マスターデータなどの参照が主なデータを格納するテーブルや全文検索するテーブルはMyISAMを利用するのが主流でした。しかし,MySQL5.6ではInnoDBのパフォーマンスも改善され全文検索も可能になり,参照速度を重視するテーブルでもInnoDBを利用することが多くなっています。

(http://gihyo.jp/dev/serial/01/js-foundation/0011)

とあります。

 InnoDBは、弱点をある程度克服したため、MySQL5.5からはデフォルトのストレージエンジンになったということなので、今後はスターサーバーに限らず、ストレージエンジンがInnoDBのサイトが多くなりそうです。

スターサーバーのストレージエンジンを確認すると、たしかに「InnoDB」となっていました。

Optimize Database after Deleting Revisions

 残念ながら「WP-Optimize」を使用することはできませんでしたが、データベース最適化はWordpressを高速化するためには、導入したいと思います。

 そこで、代わりとなるのが「Optimize Database after Deleting Revisions」です。

Optimize Database after Deleting Revisionsは、基本的にWP-Optimizeと同様の機能を持っています。

  • リビジョンを削除
  • リビジョンを何日保存するか
  • 保存するリビジョンの最大数
  • ゴミ箱の削除
  • スパムの削除
  • 未使用タグの削除
  • トランジットを削除
  • ピンバックを削除
  • トラックバックを削除
  • InnoDBテーブルも最適化
  • ログの保存
  • スケジュール設定

Optimize Database after Deleting Revisionsは「InnoDB」「MyISAM」ともに対応しているので、お使いのMySQLのストレージエンジンを気にせず使うことができます。

また、設定も容易に行うことができるので、英語のままでも十分に使用することができます。

日本語化ファイルもこちらのサイト で公開されています。
ありがとうございます。