0

在设计一个基于日期(例如货币汇率)有影响的表格时,哪个更好?

  1. 生效日期(找出最大值(生效日期)并获取当前值)
  2. 从日期 - 到日期条件(大于等于 sysdate)

Rgrds。

4

1 回答 1

1

这取决于。您有一个表示对特定实体的更改的表,并且您希望记录实体何时更改,以及更改何时被后续更改所取代。

1.如果您只记录每个事件的生效日期,则 INSERT 更简单:它们不需要找到较早的记录来更新它。但是,查询变得更加复杂——您需要在数据集上运行一个窗口来查找哪条记录在任何时候都适用,这可能会导致性能下降。

另一个缺点是这种模式是开放式的。您不能将货币记录为“永久关闭”(如果您有结束日期,您可以这样做)。

2.如果您记录每个事件的开始日期和结束日期,查询会更简单:您只需单独查看每一行即可知道它在任何时间点是否“当前”。但是,INSERT 稍微复杂一些 - 当您插入新事件时,您必须更新较早的事件以标记其结束日期。

该模型是封闭式的;您可以在最终事件上设置结束日期并且没有“打开”记录。

于 2013-01-24T06:57:24.353 回答