SQL数据库查询中满足任何一个条件,使用OR还是多条语句效率高?

2024-12-19 00:08:51
推荐回答(5个)
回答1:

当然是一条语句效率高

因为一条语句 也就意味着只对该表中的数据执行一次从头到尾的查询

三条语句的话,要对该表数据执行三次查询

回答2:

三条语句不仅效率低
并且还有一个缺点:冗余的数据

因为可能有一行, 既满足 name='@info',又满足 address='@info' 。
这两个语句会把这同一行都取出一份, 还需要自己手工去排除掉。

所以还是推荐前面的用OR连接的语句。

回答3:

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";

回答4:

执行一条语句, 比执行3条语句.

显然是 一句 效率高.

除非你是 3个 查询条件都一样, 只是 参数不一样.
那么 可能 3句 UNION ALL 的时候, 速度会比 IN 快一点。

回答5:

用or ,因为用or执行完数据直接全出来,如果你用分次的话你还得对数据进行处理,排序,这样肯定慢