web-dev-qa-db-ja.com

MySQL / InnoDB:毎日の最適化はパフォーマンスを向上させますか?

テーブルを毎日最適化すると、MySQLとInnoDBのパフォーマンスが向上しますか?私はこれまでこれをやったことはありませんが、このモジュールをDrupal http://drupal.org/project/db_maintenance で見たことがあります。期待できるようです。

PS:私が学んだように、OPTIMIZE TABLEオーバーヘッドを解放します。ただし、mysqlのオーバーヘッド列を再確認したところ、私のinnodbテーブルではすべて空になっています。そのため、これは必要ないかもしれません。

2
giorgio79

MyISAM

やっているOPTIMIZE TABLE mydb.mytable;は2つの基本操作を実行します

ALTER TABLE mydb.mytable ENGINE=MyISAM;
ANALYZE TABLE mydb.mytable;

これは間違いなくテーブルの断片化をクリーンアップし、インデックスの新しい統計を計算します

InnoDB

OPTIMIZE TABLE mydb.mytable; 2つの基本的な操作を実行します

ALTER TABLE mydb.mytable ENGINE=InnoDB;
ANALYZE TABLE mydb.mytable;

これにより断片化が解消されますが、ANAYLZE TABLEはInnoDBにはまったく役に立ちません。私はずっと前にこれについて書いた:

データの増加率が非常に小さい場合(つまり、データセットは基本的に一度に数か月間同じサイズのままです)、テーブルのデフラグを実行するのはやり過ぎです。 InnoDBの他の側面のチューニングに集中する必要があるでしょう(my Aug 04, 2011投稿: InnoDBのデフォルト設定の最適化

MySQLの最適化に関するDrupal StackExchangeにも投稿があります。

4
RolandoMySQLDBA

価値のあるもの:負荷の高いデータベースのメインテーブルで最適化テーブルを実行しました。メインテーブルは、挿入/更新/削除の大きな負荷がかかっています。最適化により、テーブルサイズが90%削減され、 2倍以上のシステムパフォーマンス!

1
ofer