【发布时间】:2016-07-02 07:04:10
【问题描述】:
首先,我解释一下我的问题:
这是一个每年将包含大约 5,000,000 条记录的表,这些记录将至少保留 10 年(尚未定义)。我们谈论生产机器的事件。我生成了一个报告 + 一个仪表板,用于显示相对复杂的各种信息(每月每 10 分钟的平均事件数、图形等),并且还想查看记录本身。显示的数据大部分是过去 2 个月的数据,必须始终可以查看其余数据,但访问速度较低。
我在 MariaDB v10.1.12 上工作。
我们的想法是在过去 3 个月内进行分区。我现在意识到这并不容易。这个分区我还没有找到任何解决方案,事实上,不可能直接或间接通过另一个计算列基于 now() 或其他 current_date() 等进行分区。
你对我有什么想法吗?也许是分区以外的另一种解决方案。
提前谢谢你。
【问题讨论】:
-
您的意思是要根据连续变化的值对表进行分区?我不明白为什么要经历那种麻烦。每月或每季度修复的分区表将在大多数使用情况下修复。
-
谢谢,但这会生成“无限”分区。可以吗?没有问题吗?
-
表分区是“自切片面包以来最好的东西”。请检查我的答案。您需要阅读有关数据库分区主题的更多信息,如果您有任何疑问,请询问它。
-
我理解按月或按季度连续分区,但是如果我们想要数据,比如说从火星 15 日到 4 月 15 日,这意味着数据在 2 个不同的分区中,它仍然有效吗?