2009-08-17 87 views
4

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

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

回答

6

“开销”尚未回收以前由现在删除的记录占用的空间。如果你正在做很多插入/删除操作,它总是会在那里。你可以运行OPTIMIZE TABLE,但我不会打扰 - 特别是在大型桌面上(14M并不大),它可能需要很长时间。

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

+0

你是怎么知道这件事的? – 2012-04-09 12:31:57

+0

甚至不记得,我想我正在试图解决与问问题的quy同样的问题。请检查你自己,但我很确定它的工作原理。 – 2012-04-09 22:28:45