2009-08-17 85 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