Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/02/2012, 18:11
Avatar de matanga
matanga
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 16 años, 6 meses
Puntos: 85
Respuesta: Que query es el más correcto y rápido ?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Distinto sería la performance de:
Código MySQL:
Ver original
  1. SELECT u.id, r.userid
  2. FROM usuarios u INNER JOIN rutinas r ON u.id = r.userid
donde si existe diferencia de performance (sólo medible ante cantidades grandes de registros,.
gnzsoloyo, esto no es realmente así, considera los escenarios:

1. Diferente sintaxis, mismo plan de ejecución. Para un conjunto de filas que se pueda obtener de diferentes formas, por ejemplo, el join que planteas con ..FROM usuarios INNER JOIN rutinas y ..FROM usuarios, rutinas WHERE id = userid, el optimizador genera el mismo plan de ejecución, lo que significa mismo rendimiento.

2. Misma sintaxis, diferente plan de ejecución. El optimizador puede resolver la misma consulta con diferentes planes de ejecución, esto sucede por varios factores como el incremento o decremento de filas totales, los índices disponibles, los entornos de hardware, etc., es decir, una consulta puede tener buen rendimiento hoy y mal rendimiento mañana, o buen rendimiento en entorno de test y mal rendimiento en producción.

En conclusión, la comparación del rendimiento entre consultas solo se puede hacer comparando los planes de ejecución, no se relaciona con la sintaxis.

Saludos