表开销多少太多了?

时间:2009-08-17 15:21:49

标签: mysql overhead

我刚刚在phpMyAdmin中看到我们的一个MySQL表的大小是14MB,但是有10MB的开销。我猜这很多!

多少钱?我应该定期运行OPTIMIZE TABLE吗?

2 个答案:

答案 0 :(得分:6)

“Overhead”尚未回收以前被已删除记录占用的空间。如果你正在进行大量的插入/删除操作,那么它几乎总是存在。你可以运行OPTIMIZE TABLE,但我不会打扰 - 特别是在大型桌子上(虽然14M并不大)可能需要花费很多时间。

答案 1 :(得分:3)

为了整理数据表,我们可以使用:

ALTER TABLE table_name_here ORDER BY primary_key_here;

可能比OPTIMIZE TABLE跑得快。

这将解压缩数据文件。在对表进行大量更改后,这也可能会提高使用该表的语句的性能,有时甚至会显着提高。

http://dev.mysql.com/doc/refman/5.1/en/optimize-table.html