使用SQL Server 2014:当我不需要存储秒时,不使用SMALLDATETIME的任何好理由?
我与几个大的日志表工作和他们的一列是数据类型DateTime
的CreateDate
。
有几个索引基于CreateDate
列。所有表格已经包含大量的行。
问题#1:是否有任何理由不将所有CreateDate
列转换为SMALLDATETIME
类型?
问题2:有,现有的DATETIME
数据转换成SMALLDATETIME
没有任何错误任何安全ALTER TABLE表语句?
问题3:当我使用ALTER TABLE
时,现有索引会根据CreateDate
而发生什么变化?
根据MSDN,它建议其他数据类型的新工作。这可能意味着该功能在未来版本中可能会被弃用,但他们并未明确表示这一点。 https://msdn.microsoft.com/en-us/library/ms182418.aspx – dfundako
或者,如果您还没有使用企业版,并且使用页面压缩功能,则每次可节省远远超过4个字节行。由于问题四舍五入,SMALLDATETIME真的非常糟糕。它不会忽略秒,它可以让你的时间戳跳到未来。只有很少的日志可以诚实地说这种精度降低并不重要。 –