无法理解,为什么下面两个查询语句的查询计划差别这么大
use northwind
go
select * from orders where orderdate= '20060307 '
select * from orders where orderdate= '20060307 ' or orderdate is null
当查看这两条语句的查询计划时,发现它们差别很大,不知为什么?谁能解释一下,谢谢.
------解决方案--------------------你表里很多NULL的值,用select * from orders where isnull(orderdate, ' ')= '20060307 '
就一樣了
------解决方案--------------------use northwind
go
select * from orders where orderdate= '20060307 '
select * from orders where orderdate= '20060307 ' or orderdate is null
测试了一下,速度一样,都是0秒.
select * from orders where orderdate= '20060307 ' or orderdate is null
顶多加个条件,应该不会有多大影响.
------解决方案--------------------查询成本是50%对50%,效率一样。
------解决方案--------------------是很奇怪。
------解决方案--------------------持续关注中,一楼回帖说的不明白,语法有错误....isnull,可以那么打么...