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
|
||||
|
||||
Tabla relativamente pequeña, muy lenta al indexarla...
Hola a todos, espero q me puedan dar una mano con este problemita...
Tengo una tabla Paradox de Clientes, estos están ordenados por número... mi intención es que uno los pueda ubicar por nombre cuando se va escribiendo el mismo en un edit, lo q me obliga a indexarlo por nombre. Todo me funciona bien pero el problema es que es muy lento... el dbgrid tarda aproximadamente 5 segundos en cargarse, y cuando voy escribiendo el nombre, luego de apretar cada tecla tarda, también, alrededor de 5 segundos (uno puede terminar de teclear el apellido entero y por ahí ni apareció la segunda letra). ¿Hay alguna alternativa para hacer esto más rápido? La tabla tiene 1757 registros, me parece chica ya que leyendo el foro veo que los problemas de lentitud comienzan a aparecer cuando se tienen registros en el orden de decenas de miles... Acá les paso el código, desde ya les agradezco su tiempo...
El dbgrid lo tengo relacionado directamente con la tabla Paradox, traté de hacerlo con un Query pero no me da la función GotoNearest... De nuevo, gracias. Juan
__________________
www.myspace.com/theswinginspecials |
#2
|
||||
|
||||
Si se trata de tablas Paradox, mejor utiliza FindNearest.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
||||
|
||||
Hola Marcos, gracias por responder tan rápido...
Te comento que cambié GotoNearest por FindNearest, por lo que el código quedó así:
Sin embargo sigue tardando lo mismo... yo creo que tiene algo que ver con los índices; si no le cambio el índice se carga / busca rápido... ¿alguien tendrá alguna otra idea?
__________________
www.myspace.com/theswinginspecials |
#4
|
||||
|
||||
SetKey se utiliza solamente con Dbase. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#5
|
||||
|
||||
Cita:
__________________
www.myspace.com/theswinginspecials |
#6
|
||||
|
||||
Y cuántos registros tiene esa tabla?.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#7
|
||||
|
||||
La tabla tiene 1757 registros, si no cambio el índice funciona rápido... el tema es cuando paso el nombre al indexname (indexnom en este caso) y cuando realiza la búsqueda con cada FindNearest...
__________________
www.myspace.com/theswinginspecials |
#8
|
||||
|
||||
Pues no tiene explicación que con tampocos registros vaya lento, porque no generas los índices de nuevo y nos dices como resulta, yo busco con más de 100.000 registros y va rápido.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#9
|
||||
|
||||
Saludos.
Otro asunto es que tipo de maquinas utilizas? Cuanto Procesador, memoria,....? Estas en Red?
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#10
|
|||
|
|||
Mi metodo
Mi metodo es el siguiente
Uso un control combobox que tenga autocompletar ( como los de kdsdev.com, con skin) La lista de nombres las paso al combobox por programacion y listo, valido el nombre cuando pierde el foto el combobox. Es mas programacion, pero es mas rapido que cualquier otro metodo. |
#11
|
||||
|
||||
Cita:
Hasta luego
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#12
|
||||
|
||||
Hola! Gracias a todos por sus respuestas... en un principio pensé que se trataba de los índices por lo q los volví a definir, probé otra vez y seguía lento. Luego hice una prueba haciendo un programa nuevo; con un form con dbgrid q me mostrase la tabla y un RadioButton para cambiar el índice... funciona bien (rápido)!!
Evidentemente hay algo en el programa que lo lentifica, que podría llegar a ser? Estoy buscando pero no encuentro nada.... alguna idea? Les agradezco a todos por su tiempo. Juan
__________________
www.myspace.com/theswinginspecials |
#13
|
||||
|
||||
Saludos.
Cuales y cuantos componentes(DB) usas en ese formulario? Es un formulario MDI y/o usas Datamodule? muestranos los codigos que utilizas para la funcionabilidad de ese form! Hasta luego.
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! Última edición por vtdeleon fecha: 07-04-2005 a las 22:36:28. |
#14
|
||||
|
||||
Hola vtdeleon! Uso un DbGrid para mostrarla, pero no creo q sea esa la causa ya que en todo el programa anda así; porque no sólo ahí la muestro. Tengo la "ficha de clientes" donde muestro todos los campos para hacerles Alta / Baja / Modificaciones, etc., y con el bóton que uso para cambiar de ficha (NombreDeTabla.Next o NombreDeTabla.Prior) también noto que tarda bastante.
Uso un Datamodule para manejarlo, en la prueba que hice también lo definí asi y anduvo bien... Mañana en el trabajo te muestro el código de los form... (no tengo el proyecto aquí), aunque creo q el problema pasa por otro lado. Gracias...
__________________
www.myspace.com/theswinginspecials |
#15
|
||||
|
||||
Solucionado!
Hola! Solucioné el problema, lo que pasaba era que cada query que había en mi programa estaba en Active:=true desde la creación del form... los puse en false (igual los desactivaba y volvía a activar al ejecutar los queries).....
Ahora funciona todo como debería, gracias a todos por ayudarme. Saludos! Juan
__________________
www.myspace.com/theswinginspecials |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|