SELECT * FROM alumnos INNER JOIN examen ON alumnos.id_alumno =
examen.id_alumno WHERE examen.nota > 5
ó:
SELECT * FROM alumnos WHERE id IN (
SELECT id_alumno FROM examen WHERE nota > 5
)
¿Cuál es más eficiente?
--
--
Un saludo
-------------------------------
www.navento.com
Servicios de Localización GPS
Un truco, si usted corre ambas consultas al mismo tiempo pintando todo el
codigo en su management Studio, le mostrara por cada una cuanto es el total
del plan, si cada una son el 50% entonces quiere decir que son iguales :) si
hay una que es mayor a la otra quiere decir que es mas lenta
--
---------------------------------------------------------------------
Maxi Accotto
Microsoft MVP en SQL Server
Consultor en SQL Total Consulting
---------------------------------------------------------------------
"Marcos Molero" <Marcos...@discussions.microsoft.com> escribió en el
mensaje de noticias:025C96DC-F954-4239...@microsoft.com...
Si las consultas fueran las siguientes:
SELECT
alumnos.*
FROM
alumnos
INNER JOIN examen
ON alumnos.id_alumno = examen.id_alumno
WHERE
examen.nota > 5
SELECT alumnos.*
FROM
alumnos
WHERE
id IN (
SELECT id_alumno FROM examen WHERE nota > 5
)
Entonces sería equivalentes. En este caso en particular las consultas tienen
exáctamente el mismo plan de ejecución y son por tanto exáctamente igual de
eficientes.
Saludos:
Jesús López
"Marcos Molero" <Marcos...@discussions.microsoft.com> escribió en el
mensaje de noticias
news:025C96DC-F954-4239...@microsoft.com...
Si las consultas fueran las siguientes:
SELECT
alumnos.*
FROM
alumnos
INNER JOIN examen
ON alumnos.id_alumno = examen.id_alumno
WHERE
examen.nota > 5
SELECT alumnos.*
FROM
alumnos
WHERE
id IN (
SELECT id_alumno FROM examen WHERE nota > 5
)
Entonces sería equivalentes. En este caso en particular las consultas tienen
exáctamente el mismo plan de ejecución y son por tanto exáctamente igual de
eficientes.
Saludos:
Jesús López
"Marcos Molero" <Marcos...@discussions.microsoft.com> escribió en el
mensaje de noticias
news:025C96DC-F954-4239...@microsoft.com...