Sql server 2008 使用HierachyID存储时间序列数据

Sql server 2008 使用HierachyID存储时间序列数据,sql-server-2008,Sql Server 2008,我有一个SQL Server数据库,它保存了大量的时间序列记录,目前大约有5亿条。每个记录都有一个datetime和一个双数据值(构成时间序列)以及另外两个datetimes值。我正在寻找在不走数据仓库路线的情况下提高查询性能的方法 我没有将数据和时间存储为日期时间,而是查看了SQLServer2008中的新层次结构,并想知道是否可以使用它来存储日期和时间。我可以想象等级是年、月、日、时、分 这会提高性能吗?索引是如何工作的?我对此表示怀疑。此外,这将使针对它的编程更加复杂。您的聚集索引是否在d

我有一个SQL Server数据库,它保存了大量的时间序列记录,目前大约有5亿条。每个记录都有一个datetime和一个双数据值(构成时间序列)以及另外两个datetimes值。我正在寻找在不走数据仓库路线的情况下提高查询性能的方法

我没有将数据和时间存储为日期时间,而是查看了SQLServer2008中的新层次结构,并想知道是否可以使用它来存储日期和时间。我可以想象等级是年、月、日、时、分


这会提高性能吗?索引是如何工作的?

我对此表示怀疑。此外,这将使针对它的编程更加复杂。您的聚集索引是否在datetime列上?哪种查询的性能不好?此外,由于您似乎不需要亚分钟的精度,因此如果移动到SMALLDATETIME,您可以将索引页的大小每行减少4字节。更低的I/O=更好的性能。

谢谢。我在主datetime列上有一个聚类索引,它提供了良好的性能。我应该提到的是,我还有另外两个datetime值,我目前正在编制索引,当我问这个问题时,我也在考虑这些值。再想一想,维护HierachyID列将是一件非常痛苦的事情。它需要触发器来更新层次结构中的父记录,这将递归地触发。一个简单的数据仓库解决方案可能更好。