欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL高级十四——表的优化

程序员文章站 2022-04-25 19:48:34
...
一、优化

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)!