当然是一条语句效率高
因为一条语句 也就意味着只对该表中的数据执行一次从头到尾的查询
三条语句的话,要对该表数据执行三次查询
三条语句不仅效率低
并且还有一个缺点:冗余的数据
因为可能有一行, 既满足 name='@info',又满足 address='@info' 。
这两个语句会把这同一行都取出一份, 还需要自己手工去排除掉。
所以还是推荐前面的用OR连接的语句。
SQL中可以以多个AND或OR,当条件混乱时,可以使用括号。
如a and (b or c)这样的。
补充语句可以修改为:
sql="select top 16 * from tb_goods where id not in (select top "+(nowPage*16)+" id from tb_goods where classes='"+classes2+"' and price<=500 order by id asc)and classes='"+classes2+"' and price<=500 order by id asc";
执行一条语句, 比执行3条语句.
显然是 一句 效率高.
除非你是 3个 查询条件都一样, 只是 参数不一样.
那么 可能 3句 UNION ALL 的时候, 速度会比 IN 快一点。
用or ,因为用or执行完数据直接全出来,如果你用分次的话你还得对数据进行处理,排序,这样肯定慢