Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-06-2006
Avatar de estebanx
estebanx estebanx is offline
Miembro
 
Registrado: dic 2004
Ubicación: Santo Domingo, Dom Rep
Posts: 52
Poder: 20
estebanx Va por buen camino
Rapidez de consulta

Hola tengo un problema de velocidad para esta consulta esta en sql server 2000

Código SQL [-]
select e.*,c.cl_descripcion,d.cd_descripcion,j.cj_descripcion from inv_encabezado e
left join inv_clientes c on c.cl_codigo = e.en_codigo_cliente
left join inv_cajas j on j.cj_codigo_caja = e.en_codigo_caja and j.cj_codigo_empresa = e.en_codigo_empresa
left join inv_condiciones d on d.cd_codigo = e.en_codigo_condicion
where e.en_tipo_documento='FT'and e.en_codigo_empresa= 99
order by e.en_codigo_empresa


La tabla inv_encabezado tiene 57,100 registros y probando en analizador de consultas sql me dura la consulta 30 segundos y por la red, psss ni se.

Por favor ayudenme para mejorar la velocidad.

gracias de Antemano
Responder Con Cita
  #2  
Antiguo 22-06-2006
celades1 celades1 is offline
Miembro
 
Registrado: ago 2005
Posts: 116
Poder: 19
celades1 Va por buen camino
Hola

Supongo que tienes FK de todos los campos que hacen left join, sino ese es el principal problema que tienes, si todos los campos estan FK el segundo problema que le veo (y que es de mal resolver ya que supongo que precisas hacerlo ) son los left join que siempre ralentizan la consulta contra los join que son muchisimo mas rapidos.

No se si te he aclarado pero es que tampoco tengo muchos datos

saludos
Responder Con Cita
  #3  
Antiguo 22-06-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
en principio, prueba cambiando el left join por el inner join, salvo que no estén relacionados, en ese caso tendrás que dejarlos
Responder Con Cita
  #4  
Antiguo 22-06-2006
Avatar de estebanx
estebanx estebanx is offline
Miembro
 
Registrado: dic 2004
Ubicación: Santo Domingo, Dom Rep
Posts: 52
Poder: 20
estebanx Va por buen camino
Bueno todo esta relacionado como se debe con sus respetivos indice, lo que hice fue que hice un store procedure y esta un poquito mas rapido pero no se que hacer para que sea una consulta de menos de 10 segundos en red
Responder Con Cita
  #5  
Antiguo 22-06-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por estebanx
Bueno todo esta relacionado como se debe con sus respetivos indice, lo que hice fue que hice un store procedure y esta un poquito mas rapido pero no se que hacer para que sea una consulta de menos de 10 segundos en red
¿pero has quitado esos "left"?
Responder Con Cita
  #6  
Antiguo 22-06-2006
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 23
__hector Va por buen camino
Por que no usas en Index Tuning Wizard de Query Analyzer, para ver que indices te faltan, y que rendimiento puedes obtener si los aplicas?
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
  #7  
Antiguo 22-06-2006
Avatar de estebanx
estebanx estebanx is offline
Miembro
 
Registrado: dic 2004
Ubicación: Santo Domingo, Dom Rep
Posts: 52
Poder: 20
estebanx Va por buen camino
Cita:
Empezado por Casimiro Notevi
¿pero has quitado esos "left"?
Si los quite
Responder Con Cita
  #8  
Antiguo 22-06-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
puedes probar a hacer pruebas con un programa como IBplanAnalizer, así verás quién es el culpable de la lentitud y podrás ir haciendo cambios hasta encontrar la opción más eficiente.
Aquí puedes encontrar el programa, debes registrarte en borland, es totalmente gratuito.
Responder Con Cita
  #9  
Antiguo 23-06-2006
Avatar de estebanx
estebanx estebanx is offline
Miembro
 
Registrado: dic 2004
Ubicación: Santo Domingo, Dom Rep
Posts: 52
Poder: 20
estebanx Va por buen camino
Cita:
Empezado por Casimiro Notevi
puedes probar a hacer pruebas con un programa como IBplanAnalizer, así verás quién es el culpable de la lentitud y podrás ir haciendo cambios hasta encontrar la opción más eficiente.
Aquí puedes encontrar el programa, debes registrarte en borland, es totalmente gratuito.
Gracias hermano!!
Responder Con Cita
  #10  
Antiguo 24-06-2006
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 23
__hector Va por buen camino
Question

Pero... se esta hablando de Interbase, o de sql server?

Ahora estoy confundido
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
  #11  
Antiguo 24-06-2006
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.042
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por hector
Pero... se esta hablando de Interbase, o de sql server?

Ahora estoy confundido
parece que de mssql , o sea, que no va a servir de mucho el programita recomendado
Responder Con Cita
  #12  
Antiguo 26-06-2006
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 23
__hector Va por buen camino


Con el Index Tuning Wizard del Query Analyzer se resuelve.
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
  #13  
Antiguo 26-06-2006
Avatar de estebanx
estebanx estebanx is offline
Miembro
 
Registrado: dic 2004
Ubicación: Santo Domingo, Dom Rep
Posts: 52
Poder: 20
estebanx Va por buen camino
Cita:
Empezado por hector


Con el Index Tuning Wizard del Query Analyzer se resuelve.
Hecto e'cusame de nuevo, pero como se usa este programa ??
gracias por su colaboraciones
Responder Con Cita
  #14  
Antiguo 03-07-2006
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 23
__hector Va por buen camino
Abres el Query Analyzer

Escribes la sentencia que quieres optimizar, y la ejecutas

Seleccionas en el menu Query\Index Tuning Wizard (Ctrl + I), y sigues los pasos del asistente.
__________________
Héctor Geraldino
Software Engineer
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
dar rapidez a una base de datops access joanajj Conexión con bases de datos 6 21-07-2005 12:30:00
dar rapidez a la apertura de Tablas jhges Conexión con bases de datos 2 29-03-2004 10:09:00
Cómo hago para mejorar la rapidéz en actualizaciones ? ramygo Firebird e Interbase 3 12-06-2003 09:37:22
consulta sobre consulta superhopi SQL 2 16-05-2003 19:01:47


La franja horaria es GMT +2. Ahora son las 00:18: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