私は最近、EXPLAIN
MySQLクエリの計画が劇的に変更され、クエリ実行時間に悪影響を及ぼしているという問題に遭遇しました。この問題を解決するために、innodb_stats_sample_page
をMySQLのデフォルトの8から増やすことを検討しました。私の検索では、これを行う際の賛否両論に関する文献と、その変数に最適な値を選択する方法、しかし、私はについて何も説明が見つかりませんでした。はsample page
です。MySQL:サンプルページとは何ですか?
彼らの目的は明確である:
MySQLのクエリオプティマイザは、インデックスの相対的な選択に基づいて、実行計画のインデックスを選択することが重要なディストリビューションについての推定の統計を使用しています。ある種の演算では、InnoDBはテーブルの各インデックスのランダムページをサンプリングしてインデックスのカーディナリティを推定します。これらの操作には、ANALYZE TABLE文、SHOW TABLE STATUS文、および再起動後に初めて表にアクセスする操作が含まれます。
そのpageは、実際にはsample page
が何であるかを説明していません。だから、正確に何かはとsample page
ですか? (InnoDBが時々代わりに「ブロック」と呼んでも)
使用しているMySQLのバージョンはどれですか?最近この地域には大きな変化があった。 –
バージョンは5.5 –