![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Cita:
http://www.clubdelphi.com/foros/imag...ine=1267189133 guillotmarc Registrado tu codigo me parece muy interesante. com puedo aprender mas. dijamos si quiero hacer unos reportes de ventas y quiero mostrar la informacion ordenada por ventas por cliente. por dia. por tipo de pago. apenas se me ocurrio que esto de los stored procedures me serviria. |
|
#2
|
|||
|
|||
|
Al final solucioné el problema atacándolo desde dos frentes, el proceso de cálculo del saldo lo hago con una store procedure tal y como me sugirió guillotmarc, con esto tengo una reducción apreciable del tiempo de proceso. La tabla en cuestión arrastra movimientos de varios años (exigencias del usuario), pero para cortar el problema de raíz puse en el formulario un campo para dar la opción de seleccionar un año en concreto o manejar todo el conjunto. Hago la select sobre ese campo y con ello me aseguro de que siempre habrá una opción para que el proceso sea rápido aunque la tabla se vaya cargando de nuevo de registros .... como el saldo inicial de la cuenta no es anual, tuve que crear otra store procedure para calcular el saldo inicial en función del año .... al final la consulta de un año concreto es casi instantáneo.
De todas formas me queda el mosqueo de que incluso con la primera solución de guillomarc siguiese tardando tanto, sin triggers y sobre una tabla temporal exclusivamente para ese proceso ..... también probé la sugerencia de Casimiro pero el variar el tamaño de página en este caso no tuvo demasiada incidencia. Gracias a todos por vuestras sugerencias. |
|
#3
|
||||
|
||||
|
Hay algo que no se dijo... ¿Y, cómo andamos con los índices?
![]() Saludos, |
|
#4
|
||||
|
||||
|
Muchísimos índices tendría que tener para provocar esos retardos. También lo pensé, pero no creo que sea la causa.
A mi en todo momento me ha parecido que por algún lado se está disparando código adicional (mediante eventos en Delphi o triggers en Firebird), pero no lo ha encontrado. Así que no sé que pensar.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Lentitud en ADO | JF Sebastian | Conexión con bases de datos | 0 | 16-03-2008 11:06:26 |
| Lentitud en la red. | Carlos Arevalo | Varios | 2 | 09-07-2007 19:04:08 |
| Lentitud en la aplicacion | cesarjbf | Gráficos | 2 | 24-10-2003 02:46:38 |
| Lentitud en la red | Ignacio | Conexión con bases de datos | 2 | 26-08-2003 14:09:39 |
|