- Name: tablename
- Engine: MyISAM
- Version: 10
- Row_format: Dynamic
- Rows: 2
- Avg_row_length: 20
- Data_length: 60
- Max_data_length: 281474976710655
- Index_length: 1024
- Data_free: 20
- Auto_increment: NULL
- Create_time: 2011-02-23 14:55:27
- Update_time: 2011-02-23 15:07:49
- Check_time: NULL
- Collation: latin1_swedish_ci
- Checksum: NULL
- Create_options:
- Comment:
- 1 row in set (0.00 sec)
清理mysql碎片
原创
©著作权归作者所有:来自51CTO博客作者minren8的原创作品,请联系作者获取转载授权,否则将追究法律责任
如果你将两万条命令行删到只剩一行,列表中有用的内容将只占二十字节,但MySQL在读取中会仍然将其视同于一个容量为四十万字节的列表进行处理,并且除二十字节以外,其它空间都被白白浪费了。
这在实际项目中经常会见到,也是我们可以控制的。
先可以用 命令:
show table status from tablename\G;
看看显示出来的东东。
可以看到,这里查出来的分析里面有个叫Data_free,这就叫做碎片。
现在我们要把它清理掉,进行一下修正:
optimize table tablename;
这样子,就把datafree去掉了,可以再用show table status from table\G;看看data_free的数值,应该已经是0了
上一篇:推荐一个空间,用起来不错
下一篇:简单的 vim 配置
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
mysql简单的碎片清理脚本
mysql简单的碎片清理脚本
mysql简单的碎片清理脚本