簡単な質問ですが、しばらくの間私を悩ませてきました....
MySQL の「オーバーヘッド」とは何ですか? 心配する必要がありますか?
「テーブルの最適化」をクリックすると、実際に修正されますか?
オーバーヘッドは、データベースが一部のクエリを実行するために使用した一時的なディスク領域であるように思われるため、これが非常に高くなった場合にのみ心配する必要があります。
「テーブルの最適化」をハード ドライブの最適化と比較できます。
私は引用します:
すべてのデータベースは、時間の経過とともに、最適なパフォーマンス レベルを維持するためになんらかのメンテナンスを必要とします。削除された行のパージ、再配列、圧縮、インデックス パスの管理、最適化などは、mysql では最適化と呼ばれ、他のデータベースでは他の用語で知られています。たとえば、IBM DB2/400 はこれを REORGANIZE PHYSICAL FILE MEMBER と呼んでいます。
車のオイル交換や車の調子を整えるようなものです。あなたは本当にそうする必要はないと思うかもしれませんが、そうすることであなたの車はより良く走り、より良い燃費を得ることができます. 頻繁に使用されるデータベースにも同じことが必要です。多くの UPDATE 操作や DELETE 操作を行っている場合、特にテーブルに可変長の列 (VARCHAR、TEXT など) がある場合は、常に調整する必要があります。
テーブルの最適化は非常に問題になる可能性があります。たとえば、テーブルがサイトで頻繁に使用されている場合などです。
http://dev.mysql.com/doc/refman/5.1/en/optimize-table.html
MyISAM または ARCHIVE テーブルの大部分を削除した後、または可変長行 (VARCHAR、VARBINARY、BLOB、または TEXT 列を持つテーブル) を持つ MyISAM または ARCHIVE テーブルに多くの変更を加えた後。削除された行はリンクされたリストに保持され、後続の INSERT 操作は古い行の位置を再利用します。
この動作を確認したと思います。そして、それは確かに非常に便利です。