Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

¿Qué es más óptimo?

Estas en el tema de ¿Qué es más óptimo? en el foro de SQL Server en Foros del Web. Me podrian por favor indicar qué es más conveniente utlizar (en terminos de "performence") un INNER JOIN o simplemente utlizar "WHERE" al momento de relacionar ...
  #1 (permalink)  
Antiguo 05/08/2010, 13:46
Avatar de LUISESPOCH  
Fecha de Ingreso: octubre-2006
Mensajes: 194
Antigüedad: 18 años, 2 meses
Puntos: 0
¿Qué es más óptimo?

Me podrian por favor indicar qué es más conveniente utlizar (en terminos
de "performence") un INNER JOIN
o simplemente utlizar "WHERE" al momento de relacionar tablas?? y Porque??

Para la practica ulticé 100000 (query adjunto) registros pero no noto la diferencia. Los dos alternativas se demorar 47 seg.

select TOP 100000 *
iNTO #TMP1
from CLIENTES

SELECT *
INTO #TMP2
FROM #TMP1
/*
SELECT * FROM
#TMP1 a inner join #TMP2 b on
a.CODIGO_PERSONA = b.CODIGO_PERSONA
*/

SELECT * FROM
#TMP1 a , #TMP2 b
where a.CODIGO_PERSONA = b.CODIGO_PERSONA
/**/

drop table #TMP1
drop table #TMP2




Gracias maestros!!
  #2 (permalink)  
Antiguo 05/08/2010, 14:42
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 19 años, 4 meses
Puntos: 39
Respuesta: ¿Qué es más óptimo?

Estimado LUISESPOCH, la forma antigua de relacionar 2 tablas era mediante el where. A partir de la version 2000 se usa JOIN, que bien puede ser INNER, LEFT, FULL.
Definitivamente es mas optimo usar JOIN, prueba con millones de registros.
Ademas de eso hace mas entendible el codigo.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 05/08/2010, 15:26
Avatar de LUISESPOCH  
Fecha de Ingreso: octubre-2006
Mensajes: 194
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: ¿Qué es más óptimo?

OK, Gracias por tus comentarios maestro!
  #4 (permalink)  
Antiguo 05/08/2010, 17:47
Avatar de LUISESPOCH  
Fecha de Ingreso: octubre-2006
Mensajes: 194
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: ¿Qué es más óptimo?

Cito este post sobre este tema.
http://www.forosdelweb.com/f87/inner...-where-392693/


LE
  #5 (permalink)  
Antiguo 06/08/2010, 06:25
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años, 1 mes
Puntos: 85
Respuesta: ¿Qué es más óptimo?

La respuesta a esa pregunta te la va a dar el plan de ejecución de la consulta, si el optimizador genera el mismo plan para las dos, entonces el rendimiento es el mismo, esto sin tener en cuenta que en consultas muy complejas se puede incurrir en algún bug del motor, caso raro pero posible.

Técnicamente hablando las ventajas del JOIN son dos, visualmente puede quedar más fácil de entender y es compatible con SQL ANSI.

Saludos

Etiquetas: performance
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:56.