Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   dar rapidez a una base de datops access (https://www.clubdelphi.com/foros/showthread.php?t=23495)

joanajj 19-07-2005 13:42:30

dar rapidez a una base de datops access
 
Buenos días, tengo una base de datos access con unos 4000 registros y delphi 7 y cada vez la noto mas lenta , sobre todo a la hora de localizar un registro. Hay alguna solución para hacerla más rápida, y para agilizar la localización de registros que puedo hacer, de momento localizo los registros mediante el LOCATE.

Saludos y gracias...

Neftali [Germán.Estévez] 19-07-2005 13:55:55

¿Tienes indices definidos por los campos de búsqueda? 4000 registros no son muchos y debería ir rápido.
=> Crear índices por los campos de búsqueda.
=>Utilizar SQL puede ser una prueba alternativa a ver qué tal.
=>Si buscas un sólo registro utiliza la cláusula TOP.
=>Evita si puedes utilizar operador LIKE (como).

marcoszorrilla 19-07-2005 14:29:50

También conviene que la compactes periódicamente.

Un Saludo.

joanajj 20-07-2005 20:44:55

La base si tiene índices
 
Gracias por la respuesta. La base si tiene índices, y uso Ado, aunque voy a probar a ver que tal va SQL. El problema es que al usar LOCATE tarda uno o dos segundos en encontar el registro que busco.


Gracias.

Neftali [Germán.Estévez] 21-07-2005 10:02:27

Revisa el tipo de cursores que están utilizando en ADO; Depende de cuales estén utilizando puedes estar cargando todos los datos en memoria para luego hacer un LOCATE. Eso sería una explicación para los 2 segundos.

joanajj 21-07-2005 11:45:41

como debería hacer lo del cursor
 
Buenos días, se que hay un cursor en ado que apunta a la BD, pero no tengo muy claro como trabajan, podrías darme un poco de información o decirme donde buscar, y ¿cual sería el cursor apropiado.???



Saludos...

Neftali [Germán.Estévez] 21-07-2005 12:30:00

Creo recordar que es la propiedad CursorType; Debes modificarla tanto en ADOConnection, como en los ADOTable/ADOQuery que tengas conectados. Usa clServer y clClient; Haz las pruebas con ambos.


La franja horaria es GMT +2. Ahora son las 02:17:47.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi