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... |
¿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). |
También conviene que la compactes periódicamente.
Un Saludo. |
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. |
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.
|
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... |
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