【发布时间】:2021-08-13 20:33:04
【问题描述】:
我有带有一些 InnoDB 表的 MySQL(实际上是 MariaDB)数据库。 此类表中的记录永远不会删除,只会插入和更新。 记录的数量已经相对较大——大约几百万。 我相信,这些表自创建以来从未被优化过。
我应该优化这些表吗? 如何验证我是否应该优化这些表?
【问题讨论】:
-
简单的经验法则:永远不要在 InnoDB 表上使用
OPTIMIZE TABLE。 -
为什么?下面的比尔卡尔文提出了相反的建议,他解释了为什么......似乎有一些相互矛盾的观点,这就是我问的原因......
-
Bill 正在解决您的陈述问题——“我什么时候应该优化?”。我正在解决隐含的问题——“我应该优化吗?”。我同意当你做一个大的
DELETE,OPTIMIZE可能是可取的。但是,对于“大删除”,可能有一种方法可以避免碎片。 (这是一个很长的讨论,我在其他问题中已经解决了。)
标签: mysql optimization mariadb