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