整理一下以前的一些用sql语句的习惯。
先提一个概念扫描参数(SARG),用于限制搜索的一个操作,因为它通常是指一个特定的匹配,一个值得范围内得匹配或者两个以上条件的
AND 连接。
1.or 会引起全表扫描.
如:Name='张三' and 价格>5000 符合SARG
而:Name='zhangsan ' or 价格>5000 则不符合SARG
2.非操作符,函数引起的不满足SARG形势的语句
非操作符有:NOT ,!= ,<>,NOT EXISTS,NOT IN ,NOT LIKE 等,另外还有函数。
where 价格×2>5000 和 where 价格>5000×2
3.IN 的作用相当于OR
select * from table1 where tid in (2,3)
和
select * from table1 where tid=2 or tid=3