mysql表优化

一、定期分析表 

ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name]

二、定期检查表 

CHECK TABLE tbl_name [, tbl_name]  [option]

备注:CHECK TABLE也可以检查视图是否有错误,比如在视图定义中被引用的表已不存在。

 

三、定期优化表 

OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name]

OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表起作用。对于MyISAM表,OPTIMIZE TABLE按如下方式操作:如果表已经删除或分解了行,则修复表。如果未对索引页进行分类,则进行分类。如果表的统计数据没有更新(并且通过对索引进行分类不能实现修复),则进行更新。 

备注:需要注意的是无论是ANALYZE,CHECK还是OPTIMIZE在执行期间将对表进行锁定,因此请注意这些操作要在数据库不繁忙的时候执行。

四、获取表的相关信息 

show table status 获取表的信息
show table status like 'tableName' \G
Name  表名称

Engine 表的存储引擎

Version 版本

Row_format
行格式。对于MyISAM引擎,这可能是Dynamic,Fixed或Compressed。动态行的行长度
可变,例如Varchar或Blob类型字段。固定行是指行长度不变,例如Char和Integer类型字
段。


Rows
表中的行数。对于非事务性表,这个值是精确的,对于事务性引擎,这个值通常是估算的。


Avg_row_length
平均每行包括的字节数 。

Data_length
整个表的数据量(单位:字节)。

 
Max_data_length
表可以容纳的最大数据量。

 
Index_length
索引占用磁盘的空间大小 。

Data_free
对于MyISAM引擎,标识已分配,但现在未使用的空间,并且包含了已被删除行的空间。

Auto_increment
下一个Auto_increment的值。

Create_time
表的创建时间。

Update_time
表的最近更新时间。


Check_time
使用 check table 或myisamchk工具检查表的最近时间。


Collation 
表的默认字符集和字符排序规则。

Checksum
如果启用,则对整个表的内容计算时的校验和。

Create_options
指表创建时的其他所有选项。

Comment
包含了其他额外信息,对于MyISAM引擎,包含了注释徐标新,如果表使用的是innodb引擎 ,将现实表的剩余空间。如果是一个视图,注释里面包含了VIEW字样。
posted @ 2019-07-02 16:36  艾薇-Ivy  阅读(227)  评论(0编辑  收藏  举报