【发布时间】:2011-10-16 14:05:20
【问题描述】:
int 列上的非聚集索引是否被认为比 decimal 或 datetime 列上的非聚集索引更高效?
【问题讨论】:
标签: sql performance sql-server-2008 indexing
int 列上的非聚集索引是否被认为比 decimal 或 datetime 列上的非聚集索引更高效?
【问题讨论】:
标签: sql performance sql-server-2008 indexing
在某些方面:是的。
INT 只有 4 个字节 - 因此更多的 INTs 将适合 SQL Server 中的单个 8K 页。
DATETIME 使用 8 个字节 - 因此单个页面上存储的 DATETIME 值更少,或者对于相同数量的DATETIMEs,您需要更多页面,因此您获得更多磁盘 I/O,因此更少性能。
差异有多大取决于更详细的测量,但是 - 对于数百万行以下的任何内容,差异很可能可以忽略不计。如果您的查询确实受益于该 DATETIME 列上的索引 - 我会毫不犹豫地添加它(再次强调:除非您正在处理数百万行表......那么您可能需要更详细的调查)
【讨论】: