このページは機械翻訳したものです。
このセクションでは、InnoDB テーブルの永続オプティマイザ統計および非永続オプティマイザ統計を構成する方法について説明します。
永続オプティマイザ統計はサーバーの再起動後も永続化されるため、plan stability の向上とクエリーのパフォーマンスの一貫性が向上します。 永続オプティマイザ統計には、次のような利点があり、制御と柔軟性もあります:
innodb_stats_auto_recalc構成オプションを使用して、テーブルに対する大幅な変更後に統計を自動的に更新するかどうかを制御できます。STATS_PERSISTENT、STATS_AUTO_RECALCおよびSTATS_SAMPLE_PAGES句をCREATE TABLEおよびALTER TABLEステートメントとともに使用して、個々のテーブルのオプティマイザ統計を構成できます。mysql.innodb_table_statsテーブルおよびmysql.innodb_index_statsテーブルのオプティマイザ統計データをクエリーすることができます。mysql.innodb_table_statsテーブルおよびmysql.innodb_index_statsテーブルのlast_updateカラムを表示して、統計が最後に更新された日時を確認できます。mysql.innodb_table_statsテーブルおよびmysql.innodb_index_statsテーブルを手動で変更して、特定のクエリー最適化計画を強制したり、データベースを変更せずに代替計画をテストできます。
永続オプティマイザ統計機能は、デフォルトで有効になっています (innodb_stats_persistent=ON)。
非永続オプティマイザ統計は、各サーバーの再起動時および他の操作後にクリアされ、次のテーブルアクセスで再計算されます。 その結果、統計の再計算時に異なる見積りが生成され、実行計画の選択肢やクエリーパフォーマンスの変動が生じる可能性があります。
このセクションでは、正確な統計と ANALYZE TABLE 実行時間のバランスを取る場合に役立つ可能性のある、ANALYZE TABLE の複雑さの見積りについても説明します。