Sobre INNER JOIN y rendimiento

22/03/2005 - 20:06 por Leopoldo Ramos | Informe spam
En el momento de hacer un join como este:

select a.col1, a.col2, b.col1, b.col2,... from tabla1 a inner join tabla2 b
on a.col3=b.col3

que diferencia hay o puede haber en hacerlo asi ?

select a.col1, a.col2, b.col1, b.col2,... from tabla2 b inner join tabla1 a
on b.col3=a.col3

Es decir invirtiendo el orden de las tablas en el from.

Tiene o deberia tener alguna implicacion en el rendimiento el poner una u
otra tabla primero ? la mas grande primero deberia ser mas eficiente o no ?


Espero haberme hecho entender..


Gracias
 

Leer las respuestas

#1 Miguel Egea
22/03/2005 - 21:30 | Informe spam
No, no debe tener ninguna implicáción en el rendimiento siempre y cuando
b.col3 y a.col3 tengan exactamente el mismo tipo de datos.

El motivo de que no exista diferencia es que sql se basa en las estadísticas
para decidir el mejor plan de ejecución y no en el orden en que se teclean
las variables.

Saludos
Miguel Egea
"Leopoldo Ramos" escribió en el mensaje
news:
En el momento de hacer un join como este:

select a.col1, a.col2, b.col1, b.col2,... from tabla1 a inner join tabla2
b
on a.col3=b.col3

que diferencia hay o puede haber en hacerlo asi ?

select a.col1, a.col2, b.col1, b.col2,... from tabla2 b inner join tabla1
a
on b.col3=a.col3

Es decir invirtiendo el orden de las tablas en el from.

Tiene o deberia tener alguna implicacion en el rendimiento el poner una u
otra tabla primero ? la mas grande primero deberia ser mas eficiente o no
?


Espero haberme hecho entender..


Gracias






Preguntas similares