Marin Asked: 2021-04-29 05:27:41 +0800 CST2021-04-29 05:27:41 +0800 CST 2021-04-29 05:27:41 +0800 CST 在日期时间列上建立索引是个好主意? 772 假设是这样的: select * from table where DatePart(YEAR, dateColumn) = 2012 在 dateColumn 上建立索引是否合理? 编辑* 对于SQL Server sql-server index 1 个回答 Voted Best Answer Jonathan Fite 2021-04-29T05:39:08+08:002021-04-29T05:39:08+08:00 添加索引绝对是一个好主意。但是,DATEPART(YEAR, datecolumn) = 2012 isnt' sargable 所以它仍然会扫描索引。 如果您希望它使用索引,那么您需要执行以下操作: WHERE dateColumn >= '1/1/2012' AND dateColumn < '1/1/2013' 请注意 >= 和 < 符号的位置以获得正确的边界框。
添加索引绝对是一个好主意。但是,DATEPART(YEAR, datecolumn) = 2012 isnt' sargable 所以它仍然会扫描索引。
如果您希望它使用索引,那么您需要执行以下操作:
请注意 >= 和 < 符号的位置以获得正确的边界框。