======重新收集統計信息=======
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的前提下)注意在業務高峰期切忌操作。