FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Postgres, Zeos y Delphi 7
Hola Gente.
Estoy trabajando con Deplhi 7 y Postgres 8.1, conectando a la base de datos con Zeos. Estoy desarrollando una aplicación que tiene dos tablas muy grandes (300 mil registros aprox. cada una). En tiempo de diseño, si en un form pongo un componente ZTable, especifico su conexión y un tablename, se supone que haciendo un doble click sobre el ztable puedo agregar cuales campos de la tabla quiero ver. No veo nada si la tabla esta cerrada. Y si abro la tabla (poniendo la propiedad Active en true desde el ObjectInspector), al parecer se leen todos los registros de la tabla antes de abrirla. O por lo menos, me quedo mirando el relojito de arena un buen rato hasta que recupero el control. Cuando ejecuto la aplicación, pasa lo mismo al abrir las tablas. Lo hago con un simple tabla.Open, y si es una de las tablas grandes puedo esperar mas de cinco minutos. No se que puede estar pasando, mi sensación es que se leen todos los registros de la tabla antes de que se abra. Además, veo con el administrador de recursos del Windows como va creciendo el consumo de memoria. Vale aclarar que la base de datos está instalada en un servidor y la accedo desde otra maquina. Si hago una consulta SQL sobre la base de datos, esta se ejecuta muy eficientemente, por lo que no creo que sea un tema de performance del servidor. Agredeceré cualquier comentario. Saludos
__________________
Alejandro |
#2
|
|||
|
|||
Generalmente los componentes table leen TODOS los registros a memoria, la recomendacion es que uses puro query para obtener datos especificos
|
#3
|
||||
|
||||
Hola quali
El Ztable trae todos los registros y se torna lenta, el zquery, trae solo lo que te interese, es mucho mas eficiente, te recominedo que cambies los ztable por zquery y que le asignes cantidad de registros a traer por consulta, esto agilizara todo, aunque me parece raro que pase esto con zeos. saludos |
#4
|
|||
|
|||
Ya lo resolví
Gracias a todos por las respuestas.
Encontré la solución acá: http://www.clubdelphi.com/foros/showthread.php?t=35579 Como bien dicen ustedes, al usar Ztables se hace un select * Pero poniendo la propiedad tablename igual a : nombreTabla limit xx, donde xx es la cantidad de registros que quiero que recuperar, anda barbaro. No quería usar querys ya que en mi interface intento asociar componentes (un dbgrid por ej) directamente con la bd y hacer inserciones. Con un query puedo hacer eso?? Saludos
__________________
Alejandro |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Campos OID en Postgres y Delphi | Franz Tejada | Conexión con bases de datos | 4 | 21-01-2011 22:44:31 |
Delphi con Postgres | FlacoNet | PostgreSQL | 11 | 15-02-2010 17:37:46 |
Conectar Postgres con Delphi 7 | Maury Manosalva | PostgreSQL | 3 | 12-12-2006 18:10:37 |
Delphi y Postgres | trex2000 | Conexión con bases de datos | 2 | 19-09-2006 17:23:38 |
delphi 6 y zeos 6.1.5 | jgutti | Conexión con bases de datos | 0 | 16-12-2004 22:36:34 |
|