FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Ayuda con consulta lenta, lenta, lenta
Hola foro, por lo regular no pregunto por que casi todo lo encuentro en las busquedas pero esta ocasion si necesito de su ayuda. Espero me puedan ayudar
Trabajo con D7 Interbase 6 y utilizo componentes IBX Estoy realizando un sistema para una cadena de tiendas, en donde tengo un reporte de ventas x articulo, todo iba bien pero con el tiempo el reporte se tarda 10 MINUTOS en mostrarlo. Este reporte debe de mostrar cuantos articulos se han vendido en toda la cadena en un rango de fechas, para este reporte hago una consulta sobre una vista en donde se sacan datos de 2 tablas basicamente detalle y maestro mi vista es la siguiente:
La consulta que estoy realizando es:
Código:
Tabla Maestro: idTienda Integer (llave primaria) idRefer Integer (llave primaria) Fecha Date Refer Char(10) Nombre VarChar(70) Impuesto Numeric 12 2 Importe Numeric 12 2 Costo Numeric 12 2 Unidades Integer Descuento Numeric 5 2 Tabla detalle: idTienda Integer (llave primaria) idRefer Integer (llave primaria) idArticulo Integer (llave primaria) Cantidad Integer precio Numeric 10 2 costo Numeric 10 2 Descuento Numeric 5 2 Cualquier sugerencia se los agradece y de antemano muchas gracias |
#2
|
||||
|
||||
Hola
Me extraña mucho, seguro que necesitas leer los 2 0 3 millones de registros de una tabla?, muy raro, normalmente uno lo que hace es un acomodo de la informacion, osea, que el reporte devuelva solo lo que interesa. Yo aparte de esto usaria un Limit 50 en la consulta. No se, solo opino. Saludos |
#3
|
||||
|
||||
Yo haría algunas pruebas con SP's.
Intentar primero "cortar" las tablas con los WHERE para hacerlas más pequeñas y volcarlas a temporales y luego aplicar la Join. Asegurate de que los índices son correctos. Otra opción es mantener los cálculos por trigger (para tenerlos ya hechos), eso minimizará las consultas posteriores, aunque desconozco si es viable en este caso. Revisa el plan de ejecución si es posible para ver lo que se está haciendo y los tiempos de las distintas operaciones.
__________________
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. |
#4
|
||||
|
||||
Además de tener muy en cuenta las recomendaciones de los compañeros, también ganarás muchísimo, muchísimo, muchísimo... si cambias ese obsoleto Interbase 6 por un Firebird 1.5 (interbase 6 es de 1999), no creo que tengas problema alguno, ya que son básicamente compatibles.
Por supuesto, otra necesidad muy, muy, muy importante: cambia ese windows 2000 por un Linux: Debian, Suse, Ubuntu, RedHat... la que quieras, pero cámbialo. Ganarás muchíiiiiiiiiiiiiiiiiisimo, te lo aseguro. |
#5
|
|||
|
|||
Muchas gracias por sus comentarios.
Pero aqui realmente el problema por lo que he podido checar no es tanto los 2 o 3 millones de registros, sino el Where d.fecha between :wDate1 and :wDate2, este campo se encuentra en al tabla maestro, por cierto ya intente poner un indice sobre este campo pero no mejora la velocidad, tambien ya intente hacer SP's y no me resultan Cita:
puedo tener en el server Firebird y en las terminales IB? pregunto esto por que las terminales se conectan de forma remota (VPN) y para porder cambiar TODAS estas terminales seria algo que me llevaria algunos dias Hay manera de poner indeces a las vistas? |
#6
|
||||
|
||||
Cita:
|
#7
|
||||
|
||||
Saludos.
Yo opino que si te vas a cambiar a FireBird que sea a la 2.0.1 que es bastante estable tiene muchas mejoras y funciones ademas de muchos bugs corregidos.
__________________
Gracias, Rolphy Reyes |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta Super Lenta | AGAG4 | SQL | 4 | 03-04-2006 19:36:50 |
Primera consulta, mas lenta que el caballo del malo | papulo | Conexión con bases de datos | 20 | 23-09-2005 13:46:24 |
Impresion lenta, muy lenta... | Perio | Impresión | 2 | 20-05-2005 13:10:00 |
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 |
|