【发布时间】:2013-06-11 19:48:57
【问题描述】:
最近我想到了将历史数据存储在 MySQL 数据库中的最佳实践。目前,每个可版本化的表都有两列 - valid_from 和 valid_to,都是 DATETIME 类型。具有当前数据的记录有 valid_from 填充其创建日期。当我更新这一行时,我用更新日期填充valid_to,并用valid_from 添加新记录,与上一行中的valid_to 相同——简单的东西。但我知道该表会非常快,因此获取数据可能会非常慢。
我想知道您是否有存储历史数据的做法?
【问题讨论】:
-
做一些归档,即将历史数据移动到另一个表,并保持当前表是最新的。
-
@PradeepPati 如果他需要能够同时选择历史和当前数据的查询,这将使应用程序变得非常复杂。但是,他可以创建一些视图来“合并”历史表和当前表。
-
@Kamil 这真的不会使任何事情复杂化,而是保持应用程序健全。你需要历史,你去历史表,你需要当前数据,去当前表。