文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  設定 InnoDB 的最佳化工具統計資訊

17.8.10 設定 InnoDB 的最佳化工具統計資訊

本節說明如何設定 InnoDB 表格的持續性和非持續性最佳化工具統計資訊。

持續性最佳化工具統計資訊會在伺服器重新啟動時保留,可提高計畫穩定性和更一致的查詢效能。持續性最佳化工具統計資訊還提供額外的控制和彈性,並具有以下額外優點

  • 您可以使用 innodb_stats_auto_recalc 設定選項來控制在表格發生重大變更後是否自動更新統計資訊。

  • 您可以使用 STATS_PERSISTENTSTATS_AUTO_RECALCSTATS_SAMPLE_PAGES 子句,搭配 CREATE TABLEALTER TABLE 陳述式來設定個別表格的最佳化工具統計資訊。

  • 您可以在 mysql.innodb_table_statsmysql.innodb_index_stats 表格中查詢最佳化工具統計資訊資料。

  • 您可以檢視 mysql.innodb_table_statsmysql.innodb_index_stats 表格的 last_update 欄位,以查看統計資訊上次更新的時間。

  • 您可以手動修改 mysql.innodb_table_statsmysql.innodb_index_stats 表格,以強制使用特定的查詢最佳化計畫,或在不修改資料庫的情況下測試替代計畫。

預設啟用持續性最佳化工具統計資訊功能 (innodb_stats_persistent=ON)。

非持久性的優化器統計資訊會在每次伺服器重新啟動以及其他一些操作後清除,並在下次存取資料表時重新計算。因此,重新計算統計資訊時可能會產生不同的估計值,進而導致執行計畫的選擇不同,查詢效能也可能有所變化。

本節還提供關於估計 ANALYZE TABLE 複雜度的資訊,這在嘗試在準確的統計資訊與 ANALYZE TABLE 執行時間之間取得平衡時可能很有用。