优化一下表:
OPTIMIZE TABLE 数据库表名;
也可以这样批量生成优化所有表的SQL,再复制出来执行:
SET group_concat_max_len=200000;
SELECT GROUP_CONCAT('OPTIMIZE TABLE ',TABLE_NAME SEPARATOR ';') FROM information_schema.TABLES WHERE TABLE_SCHEMA=SCHEMA();
收缩一下数据库吧
OPTIMIZE TABLE 来回收未使用的空间,并整理数据文件的碎片。
但是 OPTIMIZE TABLE只对MyISAM, BDB表起作用,。
innodb的数据库不支持optimize,可以用
ALTER TABLE tableName ENGINE='InnoDB'
该方法会对旧表以复制的方式新建一个新表,然后删除旧表。虽然这个过程是安全的,但是在进行操作时还是先进行备份为好。
然后对表的索引信息做重新统计
analyze table tableName