MySQL統計信息收集


======重新收集統計信息=======
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_write_to_binlog
 optimize local table table_name;

====小結:====

在MySQL實際生產環境中,對於一些經常性DML操作的表,是需要定期在業務低峰期執行optimize來收縮表空間,對於優化慢sql和壓縮磁盤都有較大的好處。

analyze 和optimize都是會鎖表的,(當然是因為業務生產中基本選擇了innodb的前提下)注意在業務高峰期切忌操作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM