Ver Mensaje Individual
  #9 (permalink)  
Antiguo 11/07/2005, 09:44
Avatar de Neuron_376
Neuron_376
 
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años, 1 mes
Puntos: 2
Hola!

Pues lo que dices correcto, eso es lo que esta pasando, si miras tus tablas todo esta relacionado por el idCategoria, entonces te basas en eso para las relaciones de las tablas, el JOIN hace todo mas rapido que la subconsulta, porque en una subconsulta para cada registro en el scan de la tabla, vuelve a consultar los valores con los cuales debe compararse, donde se optimiza un poco la subconsulta es cuando usa valores en el cache de la DB mientras pide la siguiente subconsulta, etc., con el JOIN, establece puntos de relación (apuntadores directos) a los campos que tienen relacion, no ocupa cargar N veces la misma tabla, ademas, como esta la consulta con el JOIN basada en un INDEX, es un scan mas facil todavia porque esta trabajando sobre el index.

Bueno, ahí radica que el JOIN sea mas eficiente.

Y lo que dice u_goldman tambien es correcto, sin el left, si en algun registro no concuerda no te traera resultados, con el left si te trae esos resultados, ahí es donde tienes que hacer pruebas con cual de los dos tipos te conviene mas usar.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com