rendimiento inner join y subconsultas

12/02/2009 - 05:19 por Marcos Molero | Informe spam
He escuchado el comentario de que es más eficiente realizar subconsultas
antes que realizar inner join. ejemplo:

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?
 

Leer las respuestas

#1 Carlos Sacristan
12/02/2009 - 08:28 | Informe spam
Mira el plan de ejecución y los resultados que te arroja las estadísticas de
entrada/salida (o, mejor, los valores que te indica SQL Profiler sobre
lecturas, escrituras y cpu) y podrás ver tú mismo cuál es la opción más
eficiente


Un saludo
-
www.navento.com
Servicios de Localización GPS


"Marcos Molero" wrote:

He escuchado el comentario de que es más eficiente realizar subconsultas
antes que realizar inner join. ejemplo:

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?

Preguntas similares