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

sql: rendimiento de consultas

Estas en el tema de sql: rendimiento de consultas en el foro de Bases de Datos General en Foros del Web. Hola me gustaría saber qué consulta es más eficiente, una con un inner join o la misma con left o right join? y las subconsultas ...
  #1 (permalink)  
Antiguo 06/08/2004, 10:34
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.135
Antigüedad: 21 años, 5 meses
Puntos: 2
sql: rendimiento de consultas

Hola

me gustaría saber qué consulta es más eficiente, una con un inner join o la misma con left o right join?
y las subconsultas como andan de rendimiento?

es que tengo una base de datos con muchisimos registros y queremos optimizar el rendimiento en búsquedas y muestras de datos en tablas en las paginas web.

gracias
  #2 (permalink)  
Antiguo 06/08/2004, 10:49
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Hola...

Cita:
qué consulta es más eficiente, una con un inner join o la misma con left o right join?
Creo que cada una hace cosas diferentes y todo depende de la info que desees obtener porque no es lo mismo hacer un inner join que un left or right join.

Cita:
y las subconsultas como andan de rendimiento?
Tambien depende del tamaño de tu subquery.., pero te puedes apoyar de un inner join.., a menos que sea necesaria una subquery puede servir de mucho..

Como verás.., el costo de tu query va a depende del tamaño de registros que se regresen, filtros, sorting, anidamientos, si usas índices. .si el SGBD lo soporta te puedes apoyar de SP, functions, etc.

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 06/08/2004, 14:42
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Escribe las 3 consultas en el Query Analyzer, entonces genera el Plan de Ejecucion.

La que tenga el valor mas bajo en "Estimated Tree Cost" es la mas eficiente. Aunque como ya te dijo RootK, cada una tiene su aplicacion especifica, por lo que no son intercambiables
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #4 (permalink)  
Antiguo 09/08/2004, 02:45
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Creo que esto tendría bastante que hablar, pues cualquier consulta se puede montar de maneras diferentes.
Lo mejor es usar el analizador y ver cual es la que mejor rendimiento te da.
Si bien es cierto un join es habitualmente mejor que una subquery, a veces (sólo a veces) es mejor hacer la subquery, todo depende en cada consulta.

Desde luego lo que no tiene sentido es comparar el rendimiento de un left/right join con un inner join, pues devuelven resultados diferentes y tienen aplicaciones diferentes. Con la pregunta, tal como la pones, desde luego un left/rigth join van a tardar más que un inner join, pero también van a dar un resultado diferente con un número de filas mayor o igual que el del inner join.
Un saludo.
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 17:09.