我刚刚在 phpMyAdmin 中看到我们的一个 MySQL 表大小为 14MB,但开销为 10MB。我猜这是很多!
多少是太多了?我应该OPTIMIZE TABLE
定期跑步吗?
“开销”尚未回收以前被现在删除的记录占用的空间。如果您正在执行大量插入/删除操作,它几乎总是会在那里。你可以运行OPTIMIZE TABLE
,但我不会打扰 - 特别是在大桌子上(虽然 14M 并不大),这可能需要很多时间。
要整理数据表,可以使用:
ALTER TABLE table_name_here ORDER BY primary_key_here;
可以运行得比OPTIMIZE TABLE
.
这将对数据文件进行碎片整理。在对表进行大量更改之后,这也可能会提高使用该表的语句的性能,有时会显着提高。