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
Compare with query IN:
SELECT *
FROM tableA JOIN tableB ON (idA = idB)
WHERE idA IN (1,2,3,4,5,......,100)
What is the best query in a MYSQL database?
Best Answer
Use IN.
IN will use an index.
OR will (afaik) not use an index.
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.