共計 1886 個字符,預計需要花費 5 分鐘才能閱讀完成。
這篇文章主要講解了“MySQL 索引統計信息更新相關的參數有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“MySQL 索引統計信息更新相關的參數有哪些”吧!
MySQL 統計信息相關的參數:
1. innodb_stats_on_metadata(是否自動更新統計信息),MySQL 5.7 中默認為關閉狀態
僅在統計信息配置為非持久化的時候生效。
也就是說在 innodb_stats_persistent 配置為 OFF 的時候,非持久化存儲統計信息的手,innodb_stats_on_metadata 的設置才生效。
當 innodb_stats_on_metadata 設置為 ON 的時候,
InnoDB 在執 show table status 或者訪問 INFORMATION_SCHEMA.TABLES 或者 INFORMATION_SCHEMA.STATISTICS 系統表的時候,更新費持久化統計信息(類似于 ANALYZE TABLE)
某個索引的統計信息更新時間參考 mysql.innodb_index_stats 這個系統表
select * from
mysql.innodb_index_stats where table_name = teststatistics
2. innodb_stats_auto_recalc
是否自動觸發更新統計信息,僅影響持久化存儲的統計信息的表,閾值是變化的數據超過表行數的 10%。
也就是說,一個表索引統計信息是持久化存儲的,并且表中數據變化了超過 10%,
如果 innodb_stats_auto_recalc 為 ON,就會自動更新統計信息,否則不更新。
3. innodb_stats_persistent(非持久化統計信息開關),MySQL 5.7 中默認為打開,持久化存儲統計信息
該選項設置為 ON 時候,統計信息會持久化存儲到磁盤中,而不是存在在內存中,
相反,如果是非持久化存儲的(存在內存中),相應的統計信息會隨著服務器的關閉而丟失。
4. innodb_stats_persistent_sample_pages(持久化更新統計信息時候索引頁的取樣頁數)
默認是 20 個 page,如果設置的過高,那么在更新統計信息的時候,會增加 ANALYZE TABLE 的執行時間。
5. innodb_stats_transient_sample_pages(臨時性更新統計信息時候索引頁的取樣頁數)
默認值是 8,innodb_stats_persistent 設置為 disable 的情況下 innodb_stats_transient_sample_pages 才生效,
也就是非持久化存儲過索引統計信息的時候,innodb_stats_transient_sample_pages 為更新統計信息的采樣頁數
6. innodb_stats_sample_pages
已棄用. 已用 innodb_stats_transient_sample_pages 替代。
====== 重新收集統計信息 =======
1. 分析和存儲表的關鍵字分布
analyze table table_name;
analyze 用于收集優化器的統計信息、和 tuning 相關;對 myisam、BOB、innodb 起作用。
注意:(經過實踐操作 在 MySQL5.5 版本下執行 sql:analyze table table_name 會馬上返回一個 ok 狀態,但是后端
仍然會出現鎖表等情況)。
2. 檢查表(視圖),檢查一個或者多個表是否有錯誤
check table table_name;
對 myisam(關鍵字統計數據被更新)和 innodb 都有作用,對于 myisam 來說,需要 check 和 repair(由于 myisam 表
可能損壞)。
3. 定期優化表(對空間碎片進行整理合并,消除由于刪除或者更新造成的空間浪費)
optimize table table_name;
對 myisam,bob 和 innodb 表起作用,但是該操作會引起鎖表。
optimize 可以回收空間,整理碎片,提高 IO 之處 innodb、myisam、archive;如若是 replication 環境,可以加 no_wri
te_to_binlog。
optimize local table table_name;
感謝各位的閱讀,以上就是“MySQL 索引統計信息更新相關的參數有哪些”的內容了,經過本文的學習后,相信大家對 MySQL 索引統計信息更新相關的參數有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!