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