日期:2014-05-16 浏览次数:20841 次
我的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; 优化 ,优化后就有效果了。显示表空间减少了。
?
?