前言:
在开发过程中,不可避免的要对数据库进行操作。如果数据量庞大,磁盘爆满怎么办,此时可以尝试下面的方法解决。
步骤一:查询各表的使用情况
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 = '表名';
步骤二:对表进行碎片化整理,释放磁盘空间
ALTER TABLE 表名 ENGINE=InnoDB;
ANALYZE TABLE 表名;
optimize table 表名;