sqlserver中is null条件是否使用索引的问题(测试结果是null值也可以使用索引?)
看了一些资料,有提到使用is null条件时不使用索引;
所以本打算用''代替null;
但经测试is null还是使用索引的;只有is not null不使用索引;
但<>''也是不使用索引的,所以感觉没有必要用''替换null;
测试语句--------
select alias from fileinfo where alias is null
---使用索引:
(501 行受影响)
表 'FileInfo'。扫描计数 1,逻辑读取 650 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
SQL Server 执行时间:
CPU 时间 = 0 毫秒,占用时间 = 137 毫秒。
---不使用索引:
(501 行受影响)
表 'FileInfo'。扫描计数 3,逻辑读取 491401 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
SQL Server 执行时间:
CPU 时间 = 2968 毫秒,占用时间 = 1663 毫秒。
--------------------
所以null值也还是可以使用索引???????
能提供些权威性的资料或说明最好,谢谢