我有一个表格女巫是我系统的核心,所有显示给我的客户的结果都存储在那里。它增长得非常快,所以每3个小时我应该删除早于X的记录,以提高性能。
仅删除这些记录还是应该在删除后运行Optimize table
?
我正考虑每3小时删除一次,每天只运行一次Optimize,但我不确定删除是否足以提高性能。
答案 0 :(得分:2)
如果您使用的是InnoDB,请不要打扰OPTIMIZE TABLE
;这不值得努力。
如果你总是删除最老的"行,然后有一个更快,更有效的方法来做到这一点。而且,它本身不需要OPTIMIZE
。将表格划分为日期和DROP PARTITION
。每个分区都是独立的结构;因此删除一个分区不会破坏表的其余部分。
有关详细信息,请参阅my blog。