“LaunchDate 上的数据类型是什么?如果是 DATETIME 或 DATETIME2,索引不太可能做太多事情,因为它们包含时间部分 – OMG Ponies”
“@OMG - 为什么 DateTime 列上的聚集索引不能提高性能?查询是一个范围扫描,它允许快速范围索引查找,因为所有数据都在顺序块中?半相关...msdn。 microsoft.com/en-us/library/ms177416.aspx – 卡尔加里编码器”
“Calgary Coder:DATETIME/2 包括时间——一个索引,无论是集群还是非集群,都适用于具有重复时间但不包括范围的日期。- OMG Ponies”
DATETIME
我在类型列上创建了一个带有聚集索引的测试表,LaunchDate
并观察索引搜索类似于上述问题中引用的查询:
SELECT COUNT(primaryKeyColumn)
FROM MarketPlan
WHERE LaunchDate > @date
而不是表或索引扫描。
为什么DateTime
列上的聚集索引不能提高性能?如果索引或因为它们包含时间部分,
为什么索引可能不会做很多事情?DATETIME
DATETIME2
我很欣赏说明DATETIME
列索引不会提高性能的脚本。
更新:另外,OMG 是否暗示DATE
type 列上的索引会有所帮助,但不是DATETIME
吗DATETIME2
?