![]() |
Lento al abrir tabla
Hola amigos del foro acudo a uds de nuevo.
Tengo el siguiente inconveniente cuando abro una tabla de 12.000 registros (para mi concepto pequeña) el tiempo de espera es demasiado largo y en ocaciones me aparece el error "out of memory", en realidad la abro para luego ponerla en modo de inserción, podria hacer para reducir el tiempo al abrir la tabla y que no me aparezca este error, estoy utilizando firebird 2.0 y delphi 7 y los componentes que estoy utilizando son IBQuery de la paleta interbase, este es el fragmento del codigo donde ser produce el problema
de antemano muchas gracias |
Si cliente es una tabla te aconsejo modificar tu programa para que haga uso de querys tanto para consultas como inserciones. Saludos
|
Me adhiero al comentario de poliburro, es mejor emplear Querys en vez de Tables.
El uso de Tables provoca que se traigan todos los datos cada vez que se abre la tabla. Deberías además considerar esto: 1. ¿Usas índices? 2. ¿La base de datos es local o remota?¿Está en una red? Saludos, |
Gracias por sus sugerencias, las aplicare, la bd es local y no uso indices
|
Cuando un dataset tiene muchos o pocos registros, lo que recomiendo es incluir una condición en la SQL que no devuelva registros.
Si nunca existe un registro con ID = 0, la apertura del dataset es instantaneo y podrás crear multiples registros sin que exista lentitud. Eso sí, vas a incluir una carga masiva de registros, recomiendo que cada 100 registros realices commit, para recuperar la memoria consumida por la transacción un saludo. |
A veces también hay que tener en cuenta la "anchura" de la tabla. No es lo mismo abrir una tabla con 5 campos, que una que tenga 20 columnas.
Para eso también te puede servir una SQL (Query) donde selecciones sólamente los campos estrictamente necesarios a visualizar. De todas formas si va a abrir la tabla para luego utilizar un Insert puedes usar la sentencia TOP o algun filtro que te mimimize los registros. |
La franja horaria es GMT +2. Ahora son las 04:26:00. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi