Ver Mensaje Individual
  #11 (permalink)  
Antiguo 09/05/2014, 13:19
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Hacer un SELECT con limite 1 para dos códigos

Cita:
En el caso de tener mas códigos, por ejemplo, 8,9,10,11,12 y 13. Debería usar el mismo web codigo in (8,9,10,11,12,13) o es mejor usar WHERE codigo=8 OR codigo=9...?
El comportamiento del IN varía de acuerdo al DBMS. En MySQL es más eficiente IN() que hacer la comparación con OR, en especial si el campo está indexado.
Si lo hicieras en Oracle podrías terminar saliendo por timeout.

En cualquier caso tienes que recordar que toda consulta con ORDER BY y/o GROUP BY resulta poco eficiente cuando se trata de centenares de miles o millones de registros. En ese caso es mejor realizar, si se puede, algún JOIN con otra tabla que permita reducir el numero de resultados a filtrar.

Te recomiendo estudiar el uso de EXPLAIN para analizar la performance de las consultas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)