Saludos, cual select se ejecuta mas rapido, el que tiene un select anidado o
el que tiene inner join, me explico mejor:
DECLARE @CODIGO_EMPRESA INT,
@CODIGO_AGENCIA INT
SELECT @CODIGO_EMPRESA = 1, @CODIGO_AGENCIA = 1
-
SELECT NOMBRE AS NOMBRE_EMPRESA, DIRECCION AS DIRECCION_EMPRESA, TELEFONO AS
TELEFONO_EMPRESA,
(SELECT NOMBRE FROM GTGE_AGENCIA WHERE CODIGO_EMPRESA = @CODIGO_EMPRESA AND
CODIGO_AGENCIA = @CODIGO_AGENCIA) AS NOMBRE_AGENCIA
FROM GTGE_EMPRESA
WHERE CODIGO = @CODIGO_EMPRESA
SELECT GTGE_EMPRESA.NOMBRE AS NOMBRE_EMPRESA, GTGE_EMPRESA.DIRECCION AS
DIRECCION_EMPRESA,
GTGE_EMPRESA.TELEFONO AS TELEFONO_EMPRESA,
GTGE_AGENCIA.NOMBRE AS NOMBRE_AGENCIA
FROM GTGE_EMPRESA INNER JOIN GTGE_AGENCIA
ON GTGE_EMPRESA.CODIGO = GTGE_AGENCIA.CODIGO_EMPRESA
WHERE GTGE_EMPRESA.CODIGO = @CODIGO_EMPRESA
AND GTGE_AGENCIA.CODIGO_AGENCIA = @CODIGO_AGENCIA
-
Ademas, otra pregunta, dentro del inner join puedo poner otras condiciones,
es decir no poner en el where la parte de "GTGE_AGENCIA.CODIGO_AGENCIA =
@CODIGO_AGENCIA" sino en la parte del inner join, o sea la instruccion me
quedaria asi
SELECT GTGE_EMPRESA.NOMBRE AS NOMBRE_EMPRESA, GTGE_EMPRESA.DIRECCION AS
DIRECCION_EMPRESA,
GTGE_EMPRESA.TELEFONO AS TELEFONO_EMPRESA,
GTGE_AGENCIA.NOMBRE AS NOMBRE_AGENCIA
FROM GTGE_EMPRESA INNER JOIN GTGE_AGENCIA
ON GTGE_EMPRESA.CODIGO = GTGE_AGENCIA.CODIGO_EMPRESA AND
GTGE_AGENCIA.CODIGO_AGENCIA = @CODIGO_AGENCIA
WHERE GTGE_EMPRESA.CODIGO = @CODIGO_EMPRESA
Cual de los tres selects se ejecutaria mas rapido, o habria otra forma de
hacerlo de que se ejecuten mas rapido ????
Gracias ...
Leer las respuestas