MYSQL查询WHERE IN vs OR [英] MYSQL query WHERE IN vs OR

查看:272
本文介绍了MYSQL查询WHERE IN vs OR的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经使用OR查询开发了一个系统:

I have developed a system using an OR query:

SELECT * FROM tableA 
JOIN tableB ON (idA = idB)
WHERE idA = 1 OR 
      idA = 2 OR 
      idA = 3 OR 
      idA = 4 OR 
      idA = 5 ...... OR 
      idA=100

与查询IN比较:

SELECT * 
FROM tableA JOIN tableB ON (idA = idB)
WHERE idA IN (1,2,3,4,5,......,100)

MYSQL数据库中最好的查询是什么?

What is the best query in a MYSQL database?

推荐答案

使用IN.

IN将使用索引.

OR(afaik)不会使用索引.

OR will (afaik) not use an index.

此外,这一点也不容忽视,IN版本:

Also, and this point is not to be sneezed at, the IN version:

  • 使用更少的代码
  • 更易于维护
  • 更容易理解

仅出于这些原因,我准备为获得代码质量而遭受一点性能损失,但实际上您也获得了性能.

For those reasons alone I would be prepared suffer a little performance to gain code quality, but you actually gain performance too.

这篇关于MYSQL查询WHERE IN vs OR的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆