Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Rapidez de consulta (https://www.clubdelphi.com/foros/showthread.php?t=32977)

estebanx 22-06-2006 18:07:22

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

celades1 22-06-2006 19:06:58

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

Casimiro Notevi 22-06-2006 19:09:02

en principio, prueba cambiando el left join por el inner join, salvo que no estén relacionados, en ese caso tendrás que dejarlos

estebanx 22-06-2006 20:00:37

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

Casimiro Notevi 22-06-2006 22:04:08

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"?

__hector 22-06-2006 23:11:05

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?

estebanx 22-06-2006 23:24:50

Cita:

Empezado por Casimiro Notevi
¿pero has quitado esos "left"?

Si los quite:(

Casimiro Notevi 22-06-2006 23:42:59

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.

estebanx 23-06-2006 05:47:52

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!!

__hector 24-06-2006 15:25:00

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

Ahora estoy confundido

Casimiro Notevi 24-06-2006 19:16:41

Cita:

Empezado por hector
Pero... se esta hablando de Interbase, o de sql server? :confused:

Ahora estoy confundido

parece que de mssql :D, o sea, que no va a servir de mucho el programita recomendado :D

__hector 26-06-2006 17:51:44

:D

Con el Index Tuning Wizard del Query Analyzer se resuelve.

estebanx 26-06-2006 20:19:14

Cita:

Empezado por hector
:D

Con el Index Tuning Wizard del Query Analyzer se resuelve.

Hecto e'cusame de nuevo, pero como se usa este programa :D??
gracias por su colaboraciones

__hector 03-07-2006 23:41:36

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.


La franja horaria es GMT +2. Ahora son las 09:10:23.

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