![]() |
Seleccion de datos extremadamente lenta... muero esperando..
LLevo muchos anos trabajando con delphi y Paradox. Y ahora me e visto en la necesidad de migrar a SQL. Mi experiencia con SQL, es mas bien pobre.
La situacion es la siguiente: Tengo un cliente Chino, que tiene una fabrica de masas de hojas de wantan y arrollado primavera. La tabla de facturas ya tiene casi 19.000 registros. Los documentos de venta se graban en dos archivos separados: "Facturas" (contiene toda la informacion del docmento de venta: Rut, Numero, Fecha, monto, iva... etc. Cerca de 19.000 registros). Y "DetFact", detalle de facturas. (contiene: Rut, Numero, ademas del detalle de la compra: Codigo, Descripcion, cantidad.., etc. Cerca de 22.000 registros). Lo que intento hacer, es presentar en un reporte la informacion de los clientes, sus datos de compra, lo adeudado, y los productos adquiridos. Ejemplo: Cliente................Factura.......Estado...............Total..........Pagado..........Saldo...... ....Descrip..........................Cantidad Gin Sam Wan.........12341.....Pendiente........120.000.........80.000........40.000..........Masa Wantan mediano............400 Estoy usando una base de datos SQL Firebird 2.5, con delphi 2010. Uso el siguiente codigo para hacer la consulta:
El problema es, que esta consulta se demora mas de 10 minutos en arrojar resultados. Existe alguna manera de hacer esto distinto?, para que la consulta sea mas rapida, sino automatica?. Saludos. Gracias de antemano. Jose Miguel B. |
Lo primero que haría sería revisar el plan de ejecución a ver en qué se está "perdiendo" ese tiempo.
No parece una consulta lo bastante compleja para que el Open tarde 10 minutos. A partir de lo que diga el plan de ejecución se puede ver qué hacer exactamente. De todas formas puedes revisar que:
|
Asegúrate de que los índices son los que necesitas.
Esto es en base al SQL que ejecutas, aunque creo que quizás falten más cosas.
Si presentas la estructura completa de estas tres tablas quizás podamos ayudarte un poco más. |
Hola a todos.
Agradesco el tiempo y la molestia que se han tomado para contestar. Duilioisola, tienes razon. Diste en el clavo. ^\||/ Cita:
Muchas gracias por sus respuestas. Saludos. Jose Miguel. |
La franja horaria es GMT +2. Ahora son las 06:03:27. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi