MySQLテーブルは最適化をサポートしていません


9

Wordpressテーブルが最適化を必要としているように見えるので、コマンドOPTIMIZE TABLEを調べました。コマンドを実行すると、次の結果が得られます。

テーブルは最適化をサポートせず、代わりに再作成+分析を実行します

テーブルはWordpress 2.91インストーラーを使用して作成されており、まったく変更されていません。

  1. これは正常ですか?
  2. 正常に機能するようにデータベースを最適化するにはどうすればよいですか?

テーブルを最適化しましたか?
Richard Holloway

回答:


5

MySQLのドキュメントを見つけましたか?それは広範囲で便利です。

OPTIMIZE TABLEInnoDBテーブルに対して実行すると、Table does not support optimize, doing recreate + analyze insteadメッセージが出力されます。

ドキュメントから:

OPTIMIZE TABLEは、テーブルを再構築してインデックス統計を更新し、クラスター化インデックスの未使用領域を解放するALTER TABLEにマップされます。

MySQL 5.1 OPTIMIZE TABLE構文


1
これを念頭に置いて、skip-innodb以前の投稿で提案したように、有効にする前にエンジンを確認してください。
ワーナー

1
おかしい、私はこのトピックに関するサポートを何度も検索しましたが、その情報は見つかりませんでした...したがって、実際には、mySQLのドキュメントは実際にはそれほど役に立ちません....それでも、私はまだ回答が表示されませんデータベースを最適化せずにデータベースを正しく機能させる方法に関する私の質問...
Dscoduc

2
メッセージは、それがいることを示しているテーブルを最適化します。これが非常に冗長である理由は、これが本質的にはテーブル変更ステートメントのショートカットであるためです。これは、OPTIMIZE TABLEInnoDBに対して実行できなかったため、以前のバージョンのMySQLで代わりに使用する必要があったためです。データベースが正しく動作するようにテーブルを最適化する必要があると思うのはなぜですか?
ワーナー

5

InnoDBテーブルを最適化するには、

ALTER TABLE tablename ENGINE='InnoDB';

これにより、元のテーブルのコピーが作成され、元のテーブルがドロップされ、新しいテーブルがその場所に配置されます。

ここには、注意する必要がある事項を含むいくつかの追加情報があります。

また、MySQLドキュメント。ページの半分ほど下の2004年5月25日午後4時41分にDathan Pattishallのコメントを参照してください。

これは安全ですが、最初にバックアップを作成してテストする必要があります。


2
これにより、OPTIMIZE TABLEMySQLのInnoDBテーブルに対して実行した場合とまったく同じ結果が生成されます。
ワーナー

2

可能です

http://wordpress.org/extend/plugins/wp-dbmanager/のようなwpデータベースプラグインを使用する

プラグインを有効化

&ページに移動し、データベースの最適化をクリックして、データベースを最適化します

SQLログインを入力する必要はありません。wp-config.phpから取得します


2

OPTIMIZEはInnoDBでは機能します。少なくとも今はそうです。これは5.6のドキュメントです:

InnoDBテーブルの場合、OPTIMIZE TABLEはALTER TABLEにマップされます。これはテーブルを再構築して、インデックス統計を更新し、クラスター化インデックスの未使用スペースを解放します。

読む:テーブルの最適化

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.