Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-01-2008
sandiamo sandiamo is offline
Miembro
 
Registrado: mar 2007
Posts: 22
Poder: 0
sandiamo Va por buen camino
Optimizar LEFT JOIN

Hola
Les escribo porque no encuentro de mejorar el rendimiento de la siguiente consulta SQL:


Código SQL [-]
Select CURRENT_DATE AS FECHA, t.codtiendah,t.nomh,h.codor,
h.descripcion,h.codh,t.codigo,s.stock
from auxh h
 left join Articulos a
 on a.codoperador=h.codor
 inner join tiendasip t
 on t.codigo=:xcod
 left join stockarticulos s
 on (a.codigo=s.codarticulo)and(t.codigo=s.codtienda)
order by h.codorden




la cuestion es que sin realizar el ultimo left join el rendimiento es optimo pero con el se dispara el consumo de tiempo. He estado buscando otras opciones y todas me llevan a un tiempo similar.
Gracias por atenderme

Última edición por sandiamo fecha: 23-01-2008 a las 18:28:40. Razón: El texto no resalta sintaxis SQL
Responder Con Cita
  #2  
Antiguo 23-01-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Sin conocer cual es el motor que usas, tener una idea de las estructuras de las tablas, y del por que está diseñada la consulta de esta manera, es imposible dar una respuesta atinada.

En esto de las bases de datos, pocas cosas son absolutas.

¿es realmente necesario hacer un left join?
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 23-01-2008
sandiamo sandiamo is offline
Miembro
 
Registrado: mar 2007
Posts: 22
Poder: 0
sandiamo Va por buen camino
Hola jachguate
El motor de base de datos es Firebird, las tablas no tienen nada en especial y si que necesito utilizar el left join ya que necesito que aparezcan todos los registros de la tabla auxh aunque no esten relacionados con las otras tablas.
En realidad el problema creo que viene de ahí porque si cambio el ultimo left join por un inner join la consulta se realiza muy rapida, aunque no me da loq ue necesito
Responder Con Cita
  #4  
Antiguo 23-01-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
¿que es lo que necesitas?

Pregunto, porque simplemente para que aparezcan todos los registros de la tabla auxh, no me parece necesario el último left join...

Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 23-01-2008
sandiamo sandiamo is offline
Miembro
 
Registrado: mar 2007
Posts: 22
Poder: 0
sandiamo Va por buen camino
Tambien pensaba eso mismo yo pero cambiandolo por un inner join hay registros que no aparecen
Responder Con Cita
  #6  
Antiguo 23-01-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
bien. Veo que no queres dar mas información. Lamentablemente, no traje mi varita mágica. Quizás alguien mas..

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Left Join peripla SQL 1 28-06-2007 18:52:46
usando LEFT JOIN o RIGHT JOIN alcides SQL 8 03-05-2007 17:35:46
left join e inner join duda Patricio SQL 0 26-04-2007 22:06:43
LEFT OUTER JOIN e INNER JOIN Juntos alcides SQL 3 08-07-2005 18:06:27
LEFT JOIN extraños? Gydba Oracle 5 07-05-2004 22:11:32


La franja horaria es GMT +2. Ahora son las 16:07:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi