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

Una subconsulta puede o notener un join

Estas en el tema de Una subconsulta puede o notener un join en el foro de SQL Server en Foros del Web. Que tal banda, tengo una duda grandisima En una subconsulta es necesario o no tener tener una join ???, Es decir, yo puedo obtener varios ...
  #1 (permalink)  
Antiguo 01/07/2007, 18:17
Avatar de BLEND  
Fecha de Ingreso: marzo-2006
Mensajes: 97
Antigüedad: 18 años, 2 meses
Puntos: 0
Una subconsulta puede o notener un join

Que tal banda, tengo una duda grandisima

En una subconsulta es necesario o no tener tener una join ???,

Es decir, yo puedo obtener varios campos de diferentes tablas y colocar una join para no tener un producto cartesiano y solo obtener los campos que quiero, pero segun mi profe y lo que yo le entendi, las subconsultas se usan para, aparte de hacer selecciones anidadas, aminorizar el uso de join's, que tan cierto es eso ????

Otra preguntita, alguien podria darme un poco de info acerca de como manejar mis consultas a traves de una pagina html ???, que desde unos campos de texto en la pagina o check's o lo que sea, poder conectarme con mi base de datos.

Disculpen mi ignorancia, pero soy muy novato para esto...
__________________
.·´¯`·-> (3l£NÐ <-·´¯`·.
  #2 (permalink)  
Antiguo 01/07/2007, 20:32
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: Una subconsulta puede o notener un join

El uso de joins debe ser muy controlado, ya que cada vez que SQL ejecuta un Join hace uso de Tablas temporales, te recomiendo no usar mucho los Joins, y siempre que puedas usar Temporales pero siempre a nivel de FROM, por ahi he visto quienes lo hacen a nivel de SELECT... y aunque es permitido genera un OverHead enorme para el pobre SQL.....

Una subconsulta es mas eficiente ya que no genera tablas temporales.... eso es lo que te puedo decir...

Saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #3 (permalink)  
Antiguo 01/07/2007, 22:43
Avatar de BLEND  
Fecha de Ingreso: marzo-2006
Mensajes: 97
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Una subconsulta puede o notener un join

Muchas gracias brother, creo que me queda un poco mas claro
__________________
.·´¯`·-> (3l£NÐ <-·´¯`·.
  #4 (permalink)  
Antiguo 02/07/2007, 07:38
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Re: Una subconsulta puede o notener un join

Cita:
If you have the choice of using a JOIN or a subquery to perform the same task, generally the JOIN (often an OUTER JOIN) is faster. But this is not always the case. For example, if the returned data is going to be small, or if there are no indexes on the joined columns, then a subquery may indeed be faster.
Tomado de...

Performance Tuning SQL Server Joins

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.

Última edición por Andres95; 02/07/2007 a las 07:53
  #5 (permalink)  
Antiguo 04/07/2007, 10:08
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: Una subconsulta puede o notener un join

Lo he probado experimentalmente. El JOIN suele ser más eficiente que el subquery.

Los subquerys suelen ayudar para hacelo más legible, o bien, en sentencias complejas donde generas subtablas para trabajar sobre ellas.

La creación de tablas temporales depende de la cantidad de registros devueltos (para no saturar la RAM). Pero eso es una tarea que el optimizador decide cuando hacer y cuando no (que igual se crean con los subquerys, si el caso cae en las reglas del optimizador).
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #6 (permalink)  
Antiguo 04/07/2007, 22:49
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Re: Una subconsulta puede o notener un join

Pues tengo mis dudas, yo he trabajado con el analizador de performance y el uso de subquerys normalmente me ha dado un 15% mas de optoimización (Repito: Segun en analizador de rendimiento). Segun tengo entendido los Subquerys no generan temporales.... pero igual me equivoco..

Saludos!!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #7 (permalink)  
Antiguo 05/07/2007, 06:35
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Re: Una subconsulta puede o notener un join

Yo prefiero utilizar joins... me han resultado mas eficientes, las tablas que manejamos aca tienen grandes cantidades de registros, ademas de utilizar indices de forma adecuada.

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
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 04:53.