![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
#1
|
|||
|
|||
Consulta lenta
Hola a todos, me podran comentar si la siguiente consulta la ven bien realizada? Porque a traves de distintos test me da que es lenta la misma.
Son 2 tablas en cuestion NOMENCLADOR (CODIGO Y DESCRIPCION) ----------------CLAVE PRIMARIA (CODIGO) VALORES (CODIGO, PRECIO, CODIGO_OBRASOCIAL) ------ (INDICE SOBRE CODIGO)
Muchas gracias |
#2
|
||||
|
||||
Vamos, que sin más información, no se puede saber...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
NOMENCLADOR ORDER "DESCRI" INDEX ("TIPO"), VALORES INDEX ("CODIGO", "CODIGO_OBRASOCIAL")
|
#4
|
||||
|
||||
Deberías tener un código integer como clave primaria en ambas tablas, además una clave foránea en 'valores' enlazando a 'nomenclator'.
Eso independientemente del campo varchar(15) que tienes, que también debería ser clave foránea en 'valores'. Aparte, esa consulta sql no está muy bien hecha, tal y como te han aconsejado antes. Aunque sin más detalle, es difícil aconsejar.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
|||
|
|||
Tienes índices por nomenclator.tipo?
Y por nomenclator.descripcio? Has probado los tiempos quitando el order by?
__________________
Un saludo, Jesus García |
#6
|
||||
|
||||
Cita:
Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. |
#7
|
|||
|
|||
Les comento, si el filtro "v.codigo_obrasocial = 40" lo saco del left join, hay valores que no me los da cuando no existe en la tabla de valores.
Por ej. tengo el codigo 600 que es VARIOS, por lo tanto no tiene ningun valor en la tabla de valores. Al trasladar el filtro como ustedes dicen el codigo 600 no aparece en la consulta, si lo dejo en el LEFT JOIN si. Muchas gracias por sus respuestas. Última edición por DamianG fecha: 20-11-2012 a las 14:27:22. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta sql lenta en Firebird | DamianG | Firebird e Interbase | 5 | 03-05-2012 21:32:11 |
Ayuda con consulta lenta, lenta, lenta | Gregory Mazon | Firebird e Interbase | 22 | 27-06-2007 09:56:38 |
Consulta Super Lenta | AGAG4 | SQL | 4 | 03-04-2006 19:36:50 |
Consulta muy lenta | Walterdf | Conexión con bases de datos | 2 | 25-08-2004 18:37:57 |
lenta la consulta. | digital | Conexión con bases de datos | 2 | 10-09-2003 15:38:13 |
![]() |
|