FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#3
|
|||
|
|||
La base de datos es un .mdb y consta de 7 tablas con MasterFields activado. El tipo de conexión se realiza mediante Microsoft.Jet.OLEDB.4.0. En una parte crítica de la aplicación se necesita realizar una gran cantidad de operaciones de lectura en varias tablas mediante Locate() y FieldByName().
Basicamente existen 3 tablas T1,T2,T3 en las cuales T2.MasterSource apunta a T1 y T3.MasterSource apunta a T2. Estas 3 Tablas tienen definido IndexFieldNames. Lo que trato de optimizar en velocidad es leer el registro Numero n de la tabla T3 Lo que hago actualmente es: //Localizacion del registro determinado mediante locate. (Lento) err1 := not T1.Locate('TIPO',TipoPerfilId,[]); //Familia de perfiles err2 := not T2.Locate('NOMBRE',Perfil,[]); //Grupo de perfiles perteneciente a una familia err3 := not T3.Locate('NOMBRE', serie1, []); //Perfil perteneciente a un grupo de perfiles //Posicionamiento del registro dentro de la tabla T3 (Lento) err := False; T3.First; i := 1; if n>1 then repeat i := i+1; err := T.Eof; T3.Next; until (i=n) or err; //Lectura del registro (Rapido) Actual(T1,T2,T3,err); Un saludo y gracias por vuestra paciencia. Última edición por JF Sebastian fecha: 04-04-2010 a las 12:43:12. Razón: Mas informacion |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
FastReport con tablas en memoria | David | Impresión | 2 | 29-01-2013 17:43:37 |
Tablas o consultas en memoria | jmdd | SQL | 3 | 08-08-2007 19:26:19 |
out of memory con tablas en memoria | jrmanso | Firebird e Interbase | 8 | 20-06-2007 21:57:37 |
Asesoramiento: ¿Tablas temporales, datos en memoria...? | kuan-yiu | Varios | 15 | 21-08-2006 20:25:35 |
TADOTable al completo en memoria??? | Pandre | Conexión con bases de datos | 2 | 15-11-2003 03:07:57 |
|