日期:2014-05-16  浏览次数:20806 次

mysql 表文件,表空间压缩

我的mySQL使用一段时间后,表空间已变得很大(软件有较多的删除增加操作),现在我想把占用的磁盘空间减少,请教如何操作?

?

?

>user database;


>OPTIMIZE?? table?? tb_name;

?

?

?

使用总结,刚把一个mysql DB ,导入到新服务器上时,用OPTIMIZE?? table?? tb_name; 没有效果。困为mysql在传输过程中,已经优化了。

?

?

这时候把DB中的一些字段置空,查询 表空间占用情况 ,表空间没有减少。

?

查询 表空间占用情况 命令:

select concat(truncate(sum(data_length)/1024/1024,2),'MB') as data_size,
concat(truncate(sum(max_data_length)/1024/1024,2),'MB') as max_data_size,
concat(truncate(sum(data_free)/1024/1024,2),'MB') as data_free,
concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size
from information_schema.tables where TABLE_NAME = 't_tb_item';

?

?

?

这时再用, OPTIMIZE?? table?? tb_name;  优化 ,优化后就有效果了。显示表空间减少了。

?

?