最有效的方式只存储日期?

Sim*_*ely 0 performance datetime smalldatetime sql-server-2008

DateTime精确到百分之三秒.SmallDateTime精确到一分钟.

如果您只需要一天的准确度怎么办?这里的最佳做法是什么?我意识到DateTime是8个字节,SmallDateTime只有4个; 但我只是想知道是否有更好或更合适的方式来存储日期值而不是创建一个SmallDateTime列并在其中保存SmallDateTime.Date?

每个小小的帮助!:)

Dar*_*opp 5

这取决于您运行的SQL Server版本.

  • 2008年:日期
  • 2008-:SmallDateTime

虽然,如果你看一下smalldatetime文档,他们使用一个两字节的整数作为日期和两个字节的整数作为时间,所以你可能会复制他们的行为并只存储一个两字节的整数(smallint),然后使用DateAdd如果在这种情况下尺寸非常重要,则添加自1900/1/1以来的天数.