我的数据库设计包括多个 MISAM 表,其中包含在线收集的测量值,
每行记录都包含自动递增的 id、一些数据和一个表示 unixtime 的整数。
我正在设计一种老化机制,并且我有兴趣使用 MySQL 分区来动态地基于 unixtime 对每个这样的表进行分区。
假设我对每个分区将代表单月数据感兴趣,最后一个分区应该代表 2 个月,如果记录到达下一个未表示的月份,则表示 2 个月的分区应重新组织以表示单月,新分区应创建代表 2 个月(1 个取自最后一个分区,1 个用于未来测量),
此外,当创建一个新分区时,我感兴趣的是最旧的分区将被删除。
- 我应该使用什么类型的分区(我的 unixtime 不是唯一键,我将如何使用 unixtime 进行分区)?
- 我将如何根据添加到表中的新记录将分区设计为完全动态的?
更新 12.12.12
我发现了与我所描述的类似方法的有趣链接your-magical-range-partitioning-maintenance-query。