我的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;  优化 ,优化后就有效果了。显示表空间减少了。