select * from employee where abc<>5000
select * from employee where abc<5000 or abc>5000;
期中abc列有索引!

解决方案 »

  1.   

    两个效率都不高 
    select * from employee where abc<5000 
    union all
    select * from employee where abc>5000
    比较高
      

  2.   

    我这样测试,发现第二条语句快些,不知道这种测试方法是否可行? declare @sTime datetime
    select @sTime=getdate()
    select * from newTable where abc<>5000
    select datediff(ms,@sTime,getdate())declare @ssTime datetime
    select @ssTime=getdate()
    select * from newTable where orderID<5000 or orderID>5000
    select datediff(ms,@ssTime,getdate())
    结果:
    第一条:33
    第二条:13
      

  3.   

    第二条的效率高因为在SQL SERVER 中用<>,!=是不会进行索引优化的!
      

  4.   

    同意cococili_rjq() ( ) 的答案
    <> != or 等等操作都不会索引优化