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