最后说一个容易被忽视的细节,清理完之后最好检查一下 information_schema 里各个表的实际大小,对比清理前后的数据,心里有个数。我一般清理完会跑一条 SELECT table_name, ROUND((data_length+index_length)/1024/1024,2) AS size_mb FROM information_schema.tables WHERE table_schema='你的数据库名' ORDER BY size_mb DESC; 看看哪张表还比较肥,针对性处理。长期维护一个论坛,数据库健康度真的非常重要,很多莫名其妙的慢查询、超时报错,根源都在这里,别等出了问题再救火。