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字样





猜你喜欢

转载自blog.csdn.net/u013308496/article/details/50506295