FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Rutina muy lenta...
Por alguna razon la rutina que os detallo va superlenta....., MDO con Firebird , Delphi 7 en XP.
estoy utilizando TMDOTable y tarda mas de 30 minutos en actualizar 900 registro con la siguiente rutina. Agradezco vuestra paciencia en darme alguna pista de como optimizar esta rutina......
ESPERO SE ENTIENDA!!!! Última edición por dec fecha: 03-07-2007 a las 17:08:44. |
#2
|
||||
|
||||
Yo, a priori lo que haría sería poner unas mnarcas de tiempo para detectar qué es lo que está tardando más.
No comentas cuantos artículos tienen las otras tablas. Revisa que tienes definidos los índices para las búsquedas y que se están utilizando. El tema del First/Last seguidos no es recomendable porque obligas a cargar todos los registros (aunque con 900 no debería ser problema). Si puedes evitar los loPartialKey en las búsquedas mejor. Asegúrate del tiempo que están tardando los Locate. Como alternativa al LOCATE lanza una SQL con TOP 1. Si tienes controles visuales "linkados" inhabilitalos para ver si mejora. NOTA: Sin tener más datos apuesto por que son los LOCATE.
__________________
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
|
||||
|
||||
Cita:
Si son 900, tardará la de dios en encontrar lo que buscas. Saludos.
__________________
"El aprendizaje potencia la intuición" Yo mismo, en un momento de inspiración. v2.0 |
#4
|
||||
|
||||
Cita:
// Saludos |
#5
|
||||
|
||||
Cita:
Por una parte, en una apliación, tenía que buscar entre unos miles de registros, unas referencias sin orden alguno y aunque disponía de indice, usaba la función locate e iba mas lento aquello que el caballo del malo, por lo que deseché esa opción y utilicé otra diferente (ahora no recuerdo cual era pero si que me quedó grabado a fuego LOCATE-> KK). Lo del arranque lento tenía que ver con otro tema diferente :P
__________________
"El aprendizaje potencia la intuición" Yo mismo, en un momento de inspiración. v2.0 |
#6
|
||||
|
||||
Mejor haz un procedimiento almacenado que haga esas operaciones y solo mandalo a llamar desde tu programa.
Seguro que si lo haces asi si se tarda 50 milisegundos será mucho tiempo. Ahora si no quieres hacerme caso con lo del procedimiento almacenado prueba poner esto antes de ejecutar tu código:
y al final le pones:
__________________
"Hey, nena, debe ser genial ser tú y verme a mí mismo..." |
#7
|
||||
|
||||
Aparte de la lentitud de locate y esas cosas en tablas, tan sólo quería indicar que la ProgressBar no se usa así, sino que debes llamar a 'StepIt' que avanza la progressbar, no tienes que llevar el control del paso a paso.
|
#8
|
|||
|
|||
Agradezco vuestra atención. El problema estaba básicamente en el componente TMDOTable q se rayó (me costo un monton detectarlo), pero solucione el problema simplemente eliminando e incluyendo de nuevo el componente TMDOTable . Claro q tambien optimice las busquedas utilizando SQL's como me habeis recomendado en vez de los locate...
DE NUEVO MUCHAS GRACIAS A TODOS POR VUESTRA ATENCION!!!! |
#9
|
||||
|
||||
Pero, exactamente, ¿cuál fue el problema? Porque daría entonces la impresión de que es mejor no usar esos componentes que pueden de pronto rayarse.
// Saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda con consulta lenta, lenta, lenta | Gregory Mazon | Firebird e Interbase | 22 | 27-06-2007 09:56:38 |
Problemas con rutina seek | JF Sebastian | OOP | 0 | 03-02-2007 13:44:20 |
Rutina de digito verificador | tulio | Varios | 4 | 09-08-2006 17:43:18 |
No sale rutina SQl ............ | Coco_jac | SQL | 2 | 30-11-2005 16:52:44 |
Impresion lenta, muy lenta... | Perio | Impresión | 2 | 20-05-2005 13:10:00 |
|