Orden de campos de enlace en un JOIN

07/11/2005 - 15:34 por Mario | Informe spam
Hola, tengo una duda que nadie me sabe resolver con seguridad.
En un JOIN de Tabla1 y Tabla 2, en el ON qué campo debo poner primero?
Ej:

SELECT A.Nombre, B.Telefono
FROM Personas A INNER JOIN Telefonos B
ON A.Codigo = B.Codigo

o es mejor:

SELECT A.Nombre, B.Telefono
FROM Personas A INNER JOIN Telefonos B
ON B.Codigo = A.Codigo

Las dos funcionan igual, pero ¿qué es lo correcto?, ¿por qué? ¿obtendría
mejor rendimiento con qué opción?

Muchas gracias por vuestra atención.
Un saludo.

Preguntas similare

Leer las respuestas

#1 Maxi
07/11/2005 - 15:38 | Informe spam
Hola, es indistinto!! de donde has sacado que ponerlo de la otra manera
puede aumentar la performance?


Salu2
Maxi [MVP SQL SERVER]


"Mario" escribió en el mensaje
news:
Hola, tengo una duda que nadie me sabe resolver con seguridad.
En un JOIN de Tabla1 y Tabla 2, en el ON qué campo debo poner primero?
Ej:

SELECT A.Nombre, B.Telefono
FROM Personas A INNER JOIN Telefonos B
ON A.Codigo = B.Codigo

o es mejor:

SELECT A.Nombre, B.Telefono
FROM Personas A INNER JOIN Telefonos B
ON B.Codigo = A.Codigo

Las dos funcionan igual, pero ¿qué es lo correcto?, ¿por qué? ¿obtendría
mejor rendimiento con qué opción?

Muchas gracias por vuestra atención.
Un saludo.
Respuesta Responder a este mensaje
#2 Hero
07/11/2005 - 15:40 | Informe spam
Hola Mario,

Dado que la TABLA 2 es la que se REQUIERE unir con la TABLA 1, es que
debe IR el campo referencia de la tabla 2 primero y luego el campo de la
tabla 1, osea, a la que se quiere hacer JOIN.

Saludos

Hero.


"Mario" escribió en el mensaje
news:
Hola, tengo una duda que nadie me sabe resolver con seguridad.
En un JOIN de Tabla1 y Tabla 2, en el ON qué campo debo poner primero?
Ej:

SELECT A.Nombre, B.Telefono
FROM Personas A INNER JOIN Telefonos B
ON A.Codigo = B.Codigo

o es mejor:

SELECT A.Nombre, B.Telefono
FROM Personas A INNER JOIN Telefonos B
ON B.Codigo = A.Codigo

Las dos funcionan igual, pero ¿qué es lo correcto?, ¿por qué? ¿obtendría
mejor rendimiento con qué opción?

Muchas gracias por vuestra atención.
Un saludo.
Respuesta Responder a este mensaje
#3 Maxi
07/11/2005 - 15:51 | Informe spam
Hola, porque dices eso? cual es la diferencia en ponerlo de la otra manera?


Salu2
Maxi [MVP SQL SERVER]


"Hero" escribió en el mensaje
news:
Hola Mario,

Dado que la TABLA 2 es la que se REQUIERE unir con la TABLA 1, es que
debe IR el campo referencia de la tabla 2 primero y luego el campo de la
tabla 1, osea, a la que se quiere hacer JOIN.

Saludos

Hero.


"Mario" escribió en el mensaje
news:
Hola, tengo una duda que nadie me sabe resolver con seguridad.
En un JOIN de Tabla1 y Tabla 2, en el ON qué campo debo poner primero?
Ej:

SELECT A.Nombre, B.Telefono
FROM Personas A INNER JOIN Telefonos B
ON A.Codigo = B.Codigo

o es mejor:

SELECT A.Nombre, B.Telefono
FROM Personas A INNER JOIN Telefonos B
ON B.Codigo = A.Codigo

Las dos funcionan igual, pero ¿qué es lo correcto?, ¿por qué? ¿obtendría
mejor rendimiento con qué opción?

Muchas gracias por vuestra atención.
Un saludo.




Respuesta Responder a este mensaje
#4 Hero
07/11/2005 - 16:02 | Informe spam
Maxi,

Hace un tiempo atras, muy atras, en este mismo foro se comento cual era
la mejor manera de hacer ello, y resulto que de tanta discusión del tema,
era que en programación se define que todo lo que va a la derecha será
comparado por su condicionante perteneciente a la izquierda, o bien, todo
valor de la izquierda será almacenado en su variable de la izquierda.

Es por ello que por eso de definió que esa era la mejor forma, ahora de que
dañe o no la performance, eso si que no creo que suceda.

Saludos.

Hero.

"Maxi" escribió en el mensaje
news:
Hola, porque dices eso? cual es la diferencia en ponerlo de la otra


manera?


Salu2
Maxi [MVP SQL SERVER]


"Hero" escribió en el mensaje
news:
> Hola Mario,
>
> Dado que la TABLA 2 es la que se REQUIERE unir con la TABLA 1, es que
> debe IR el campo referencia de la tabla 2 primero y luego el campo de la
> tabla 1, osea, a la que se quiere hacer JOIN.
>
> Saludos
>
> Hero.
>
>
> "Mario" escribió en el mensaje
> news:
>> Hola, tengo una duda que nadie me sabe resolver con seguridad.
>> En un JOIN de Tabla1 y Tabla 2, en el ON qué campo debo poner primero?
>> Ej:
>>
>> SELECT A.Nombre, B.Telefono
>> FROM Personas A INNER JOIN Telefonos B
>> ON A.Codigo = B.Codigo
>>
>> o es mejor:
>>
>> SELECT A.Nombre, B.Telefono
>> FROM Personas A INNER JOIN Telefonos B
>> ON B.Codigo = A.Codigo
>>
>> Las dos funcionan igual, pero ¿qué es lo correcto?, ¿por qué?


¿obtendría
>> mejor rendimiento con qué opción?
>>
>> Muchas gracias por vuestra atención.
>> Un saludo.
>
>


Respuesta Responder a este mensaje
#5 Miguel Egea
07/11/2005 - 16:55 | Informe spam
Exactamente igual, SQL Server cuando "compila" la sentencia no va a
distinguir una de la otra. SQL Se basa en estadísticas y no en el orden en
que escribes.


Miguel Egea
Visita mi web http://www.portalsql.com
SQL Server MVP, Mentor
Solid Quality Learning
http://www.SolidQualityLearning.com
"Solid Quality Learning is the trusted global provider of advanced education
and solutions for the entire Microsoft database platform"

"Mario" wrote in message
news:
Hola, tengo una duda que nadie me sabe resolver con seguridad.
En un JOIN de Tabla1 y Tabla 2, en el ON qué campo debo poner primero?
Ej:

SELECT A.Nombre, B.Telefono
FROM Personas A INNER JOIN Telefonos B
ON A.Codigo = B.Codigo

o es mejor:

SELECT A.Nombre, B.Telefono
FROM Personas A INNER JOIN Telefonos B
ON B.Codigo = A.Codigo

Las dos funcionan igual, pero ¿qué es lo correcto?, ¿por qué? ¿obtendría
mejor rendimiento con qué opción?

Muchas gracias por vuestra atención.
Un saludo.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida