MySQL高级十四——表的优化
1、定期分析表:
analyze table woitems;
+---------------+---------+----------+----------+ | Table | Op | Msg_type | Msg_text | +---------------+---------+----------+----------+ | caiwu.woitems | analyze | status | OK | +---------------+---------+----------+----------+
2、定期检查表:
check table tt\G
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)!