Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/10/2010, 07:14
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 11 meses
Puntos: 360
Respuesta: duda con joins(¿cual de estas consultas es mejor?)

He tenido la oportunidad de probar este fenómeno en tablas medianas que superan el millón de registros.
Aunque el resultado es el mismo, la diferencia en rendimiento es abismal.

En mis pruebas ha sido muchísimo mas optimo usar la segunda opción.

Analizando un poco la situación, supuse que esto se debe a que normalmente las condiciones establecidas en el ON que realizan un producto cartesiano entre las tablas, está diseñado especialmente para filtrar campos que han sido indexados previamente (Aunque soporte campos no indexados). Esta es una tarea muy rápida que puede ser afectada seriamente en rendimiento cuando se establece una segunda condición con un campo que no está diseñado para este producto cartesiano.

Por el contrario, en la segunda opción, es muy eficiente realizar el producto cartesiano y sobre este resultado ya filtrado realizar una búsqueda especifica.

No he encontrado una fuente oficial y seria que explique y detalle esto. Pero con base en las pruebas está puede ser una razón valida.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming