数据库and和or

数据库and和or,第1张

你第一个理解是正确的,AND相当于数学的乘法,OR相当于数学的加法,AND优先,所以下面语句:

Select from table where c=3 or c=4 and a=1 and b=2;

会理解为:

Select from table where c=3 or (c=4 and a=1 and b=2);

与或非是逻辑判断的必须,如果真的需要很多or来判断,那么谁也没有办法。

一般优化or的办法是,减少or,也就是减少判断条件。这个不仅仅是数据库的问题,需要从业务等多方面来考虑。

比如,业务可以减少一个or,那么这就是最好的优化方式。

如果几个or字段都有索引,那么可以考虑分开查询,这样能走索引,因为or不走索引。也算优化。

缩小查询范围也算,虽然还是or,还是那么多条件,但是其他条件却可以,让数据量从10w,变为5千,这也是优化。

至于其他的方法,什么换个写法等等,大多数都是扯淡,没什么实际意义。

以上就是关于数据库and和or全部的内容,包括:数据库and和or、SQL语句中的多个OR该怎么来优化、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10153165.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存