int
列上的非聚集索引是否被认为比decimal
或datetime
列上的非聚集索引更高效?
答案 0 :(得分:4)
在某些方面:是的。
INT
只有4个字节 - 因此更多INT
将适合SQL Server中的单个8K页面。
DATETIME
使用8个字节 - 因此在单个页面上存储的DATETIME
值较少,或者对于相同数量的DATETIME
,您需要更多页面,因此您可以获得更多磁盘I / O因此性能较差。
差异多少,取决于更详细的测量,然而 - 对于数百万行以下的任何事物,差异最有可能是可以忽略的。如果您的查询确实从DATETIME
列的索引中受益 - 我会毫不犹豫地添加它(再次:除非您处理数百万行表...然后您可能需要更详细的调查)< / p>