我现在就是在查询数据的时候效率比较慢,看到有说<>不等于的效率比较低
我把 < 和 > 结合使用效率会不会快一些呢?
因为<>会导致索引失效。
范围查询,会导致后面的查询条件失效。
慢就加索引。跟等不等没关系
如果要优化sql,麻烦把完整sql、各个表的数据量、统计信息、索引及分区情况、执行计划都贴出来,
光看这个什么等不等的那完全是瞎猜
一般来在一个执行计划中,你会发现 access和filter access也就是直接访问,filter则是对access的结果进行过滤,一般情况下,会使用高效的访问条件直接访问数据,然后再使用不高效的条件进行过滤
如果字段上有索引
select * from table t where t.字段 <>5
这个sql会全表扫描,然后谓词会通过filter 进行过滤,所以大部分情况下不会很高效
如果字段上有索引
select * from table t where t.字段> 1 and t.字段 <1000 and t.字段 <>5
这个sql会通过索引1和1000 access得到数据,然后会filter 出不等于5的数据
所以这种方法会更快,