一、優化
1、定期分析表:
analyze?table?woitems;
+---------------+---------+----------+----------+?? |?Table?????????|?Op??????|?Msg_type?|?Msg_text?|?? +---------------+---------+----------+----------+?? |?caiwu.woitems?|?analyze?|?status???|?OK???????|?? +---------------+---------+----------+----------+
2、定期檢查表:
check?table?ttG
3、定期優化表:
optimize table只對MyISAM,BDB和InnoDB表起作用。
對于MyISAM表,OPTIMIZE TABLE按如下方式操作:
如果表已經刪除或分離了行,則修復表。
如果為對索引頁進行分類,則進行分類。
如果表的統計數據沒有更新(并且通過對索引進行分類不能實現修復),則進行更新
注意:無論是ANALYZE,CHECK,還是OPTIMIZE再執行期間將對表進行鎖定,因此請注意這些操作要是在數據庫不繁忙的時候進行。
二、獲取表的相關信息
show?table?status;
show?table?status?like?'tableName'G
***************************?133.?row?*************************** ???????????Name:?www_users ?????????Engine:?InnoDB ????????Version:?10 ?????Row_format:?Compact ???????????Rows:?0 ?Avg_row_length:?0 ????Data_length:?16384 Max_data_length:?0 ???Index_length:?32768 ??????Data_free:?6291456 ?Auto_increment:?NULL ????Create_time:?2015-12-06?15:25:20 ????Update_time:?NULL ?????Check_time:?NULL ??????Collation:?utf8_general_ci ???????Checksum:?NULL ?Create_options:
1、name:表名稱
2、Engine:表的儲存引擎
3、Version:版本
4、Row_format:行格式。對于MyISAM引擎,這可能是Dynamic,Fixed或Compressed。動態行的行長度可變,例如Varchar或Blob類型字段。固定行長度不變,例如Char和Integer類型字段。
5、Rows:表中的行數。對于非事務性表,這個值是精確地,對于事務性引擎,這個值通常是估算的。
6、Avg_row_length:平均每行包括的字節數
7、Data_length:這個表的數據量(單位:字節)
8、Max_data_length:表可以容納的最大數據量
9、Index_length:索引占用磁盤的空間大小
10、Data_free:對于MyISAM引擎,標識已分配,但現在未使用的空間,并且包含已刪除行的空間。
11、Auto_increment:的值
12、Create_time:表的創建時間
13、Update_time:表的最近更新時間
14、Check_time:使用check table或myisamchk工具檢查表的最近時間
15、Collation:表的默認字符集和字符排列規則
16、Checksum:如果啟用,則對整個表的內容計算時的校驗和
17、Create_options:指創建時的其他所有選項
18、Comment:包含了其他額外信息,對于MyISAM引擎,包含了注釋標新,如果表使用的是Innodb引擎,將現實表的剩余空間。如果是一個視圖,注釋里面包含了VIEW字樣
?以上就是MySQL高級十四——表的優化的內容,更多相關內容請關注PHP中文網(www.php.cn)!