SQL Server - Duda Sentencia SQL

 
Vista:

Duda Sentencia SQL

Publicado por Sembei (1 intervención) el 24/05/2006 10:17:03
Hola a tod@s.

Tengo una duda respecto a la manera de actuar del sql.
Estoy trabajando con varias tablas a la vez.
¿Da igual escribir todas las tablas en el FROM que utilizar JOIN's?.
Internamente he comprobado que cuando escribo todas las tablas en el FROM el compilador me reinterpreta (parsea) la sentencia y me la convierte a JOIN's.

Yo tenía entendido que cuando utilizabas FROM primero te trae todos los datos de todas las tablas y luego filtra según lo indicado en el WHERE. Cuando utilizas JOIN no te trae todos los datos de todas las tablas, filtra primero en función de las claves y luego vuelve a filtrar otra vez según lo indicado en el WHERE.

¿El rendimiento es el mismo?.

Un saludo.

Ejm:

select ... from t1, t2, t3, t4, t5 where t1.1=t2.1 and t2.2=t3.2 ....
select ... from t1 inner join t2 ... inner join t3 ... inner join t4 ... inner join t5 ... where ...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Duda Sentencia SQL

Publicado por Alicia (3 intervenciones) el 09/06/2006 19:09:38
Hice la prueba con una gran cantidad de datos, ejecute en el analizador de consultas dos SQL una utilizando INNER y otra con WHERE. Y al verificar la traza en el analizador (otra herramienta de SQLServer), mejoraba el rendimiento con la sentencia utilizando el INNER. Empiricamente me di cuenta que es mejor utilizar el INNER.

Alicia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar