0

我正在为一个将大量使用基于时间的查询的应用程序设计数据库布局。我试图弄清楚哪个是数据库布局的最佳选择。我控制插入/更新过程,但数据将反馈到各种 Excel 电子表格中,并且消费者将多种多样,以至于期望能够在客户端做很多事情是不现实的。任何字段都可以用于 WHERE 或 ORDER BY。我的选择是:

  1. 存储的日期时间字段和单独的计算日期/时间字段
  2. 存储的时间和日期字段,以及计算的日期时间字段
  3. 没有计算字段 - 在插入/更新时分别存储所有 3 个字段

计算字段似乎比重复数据和风险不一致更明智,这让我决定是拆分日期时间,还是连接单独的字段以获得所需的计算字段。

我的直觉告诉我,连接应该比拆分更有效,但它真的有很多吗?

4

1 回答 1

1

选项 1 存储一个日期时间字段并从中计算日期和时间部分应该没问题。

我总是更喜欢物理存储更少的数据。

如果该计算太复杂但会减慢您的速度,您可能会考虑将其设置PERSISTED COMPUTED COLUMN为选项 1 和选项 3 之间的折衷方案。(除此之外,您不必手动插入)

有关持久计算列的更多信息,请参阅此链接中的第 3 点。

于 2013-10-15T14:06:15.823 回答