11

What advantages do Temporal Tables have over Change Data Capture or Change Tracking in SQL Server?

4

2 回答 2

10

CDC 和变更跟踪确实不是为了解决历史数据问题。顾名思义,变更跟踪或 CDC 会告诉您发生了哪些变化以及发生了什么变化。你可以选择用它做你想做的事情,如果你需要保留历史数据,这可能包括将数据持久化到某个地方。这包括捕获、调整(例如,在模式中添加某种时间戳)、存储和管理数据以及相关流程。这是可行的,但努力是不平凡的和持续的。

时态数据库提供本地功能来管理历史数据,包括查询语义。您必须滚动您自己的潜在复杂查询才能在具有时间功能的数据库中获得相同的功能(例如,您的查询会如何回答这个问题:C 扇区中 42 个类型 MCC2 传感器的平均温度是多少? 2016 年 8 月 28 日下午 3 点?)。这假设您已经拥有可查询格式的数据。

有很多关于为什么要检查时态的好文章:为什么我们需要时态数据库?

于 2016-08-31T20:53:38.273 回答
3

一些使临时表脱颖而出的注释。

时态表为您提供了一种简单的方法来更改现有查询以要求该查询“在特定的先前时间运行”,从而以绝对准确的方式提供当时可以看到的结果。

临时表有实际时间,而不仅仅是与它们相关的顺序。

时态表在 SQL Server 的所有版本中都可用,而不仅仅是非常昂贵的企业版。

我希望这能给你带来价值!

马特·克里斯滕森

于 2018-12-20T15:55:06.760 回答