首页 > 数据库 > mysql教程 > mysqls清碎片操作_MySQL

mysqls清碎片操作_MySQL

WBOY
发布: 2016-06-01 13:36:51
原创
1098 人浏览过

bitsCN.com

mysqls清碎片操作

 

说明:  

 

每当MySQL从你的列表中删除了一行内容,该段空间就会被留空。而在一段时间内的大量删除操作,会使这种留空的空间变得比存储列表内容所使用的空间更大。当MySQL对数据进行扫描时,它扫描的对象实际是列表的容量需求上限,也就是数据被写入的区域中处于峰值位置的部分。如果进行新的插入操作,MySQL将尝试利用这些留空的区域,但仍然无法将其彻底占用。    

 

mysql> select table_schema, table_name, data_free, engine     from information_schema.tables where table_schema not in ('information_schema', 'mysql') and data_free > 0;

 

+--------------+-----------------------+-----------+--------+

| table_schema | table_name            | data_free | engine |

+--------------+-----------------------+-----------+--------+

| BK           | comments              |   9437184 | InnoDB |

| BK           | historypwd            |   9437184 | InnoDB |

| ss | app_admin_log         |        434 | MyISAM |

| ss | app_article           |        4434 | MyISAM |

|ss | app_article_category  |        43420 | MyISAM |

| ss | app_config            |        3324 | MyISAM |

| ss | app_convert_key       |       1132 | MyISAM |

 

 

data_free 是碎片空间

 

清理碎片:    

 

optimize table ss.app_article;                      该方式只支持MyIsam引擎

 

INNODB使用

 

ALTER TABLE table.name ENGINE='InnoDB';             使用前最好备份

 

bitsCN.com
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板