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;

====小結:====sql

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

analyze 和optimize都是會鎖表的,(固然是由於業務生產中基本選擇了innodb的前提下)注意在業務高峯期切忌操做。優化

相關文章
相關標籤/搜索