我有一个简单的数据库表,开销为 170MB。
这是我需要担心的事情吗?当我对其运行优化时,它告诉我 innodb 不支持优化,因此重新创建了表,但仍然有 170MB 的开销。
这是我可以轻松忽略的事情吗?
干杯!
最佳答案
关于何时优化表有很多垃圾建议。
如果“开销”指的是可用空间,请记住,InnoDB 自然会将页面保留为 93% 已满 (15/16),以便为以后的更新留出间隙。
当您优化表时,它实际上也不会以最佳方式重新创建它们。它重新创建表定义,然后将数据逐行复制到其中。主键索引不会以这种方式碎片化 - 但辅助键可能会碎片化(因为它们可能会乱序插入,从而从第一天开始就导致页面 split /碎片)。
Baron 在这里写了一篇很好的文章: http://www.xaprb.com/blog/2010/02/07/how-often-should-you-use-optimize-table/
关于mysql - 优化InnoDB数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3987641/