He estado leyendo, que MySQL tiene un problema con las consultas que utilizan la instrucción IN() - a veces los índices no se pueden utilizar. ¿Eso es realmente así, si no uso una subconsulta?optimización de consultas MySQL: IN() vs O
¿Qué enfoque es mejor? ¿Hay una diferencia de rendimiento?
SELECT *
FORM `somewhere`
WHERE
`id` = 3
OR `id` = 5
OR `id` = 15
OR `id` = 56
OR `id` = 34
OR `id` = 47
SELECT *
FORM `somewhere`
WHERE
`id` IN (3,5,15,56,34,47)
Creo que estos son muy similares en términos de rendimiento. Por lo que entiendo cuando MySQL analiza el IN() lo traduce en ORs internamente ... – martynthewolf