我是MySQL的新手,如果这个问题看起来很愚蠢,请提前道歉。 我有一个非常大的事务日志表(包含18M行),并且以非常快的速度增长。超过3个月的记录不会在日常流程中使用,因此我正在寻找拆分表格然后归档旧记录的方法。我正在考虑将表分区为一种方法。我的问题是:
如果我基于日期列对表进行分区,那么它如何影响不基于分区日期列的索引?如果有一个选择查询使用其中一个索引,那么是否也会搜索包含旧记录的分区?因为那种打败了我的整个分区点。
你会推荐其他方法吗?
提前致谢。
答案 0 :(得分:1)
(非答案)
PARTITIONing
仅在少数用例中有用。让我们看看你的SELECTs
,这样我们就可以考虑是否有人会从分区中受益。
如果您的查询类似于“计算上周的小部件”,那么您可能正在查看“摘要表”等数据仓库技术。这在性能方面非常有效,并且(通常)不涉及分区。
有关分区用例的更多信息:http://mysql.rjweb.org/doc.php/latlng