統計の更新 および インデックスの再構築 が可能かつ有用なMS SQLサーバーの経験があります。 MySQL innoDBにそのようなオプションが見つかりません。そのようなオプションはありますか?そうでない場合、MySQLデータベースはどのように実行計画を作成しますか? MySQLはすべてのUPDATEおよびINSERTでインデックスと統計を更新しますか?
これは
ANALYZE TABLE table_name;
詳細については、こちらをご覧ください こちら 。
ANALYZE TABLEは、テーブルのキー分布を分析して保存します。分析中、テーブルはMyISAM、BDB、およびInnoDBの読み取りロックでロックされます。このステートメントは、MyISAM、BDB、InnoDB、およびNDBテーブルで機能します。
どうして?統計を更新する必要はほとんどありません。インデックスの再構築が必要になることはさらにまれです。
OPTIMIZE TABLE tbl;
はインデックスを再構築し、ANALYZE
を実行します。時間がかかる。
ANALYZE TABLE tbl;
は、InnoDBが統計を再構築するのに高速です。 5.6.6では、さらに必要性が少なくなりました。