Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > PostgreSQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-03-2007
quali quali is offline
Miembro
 
Registrado: jul 2003
Ubicación: Posadas, Misiones, Argentina
Posts: 23
Poder: 0
quali Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 15-03-2007
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
Generalmente los componentes table leen TODOS los registros a memoria, la recomendacion es que uses puro query para obtener datos especificos
Responder Con Cita
  #3  
Antiguo 15-03-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 15-03-2007
quali quali is offline
Miembro
 
Registrado: jul 2003
Ubicación: Posadas, Misiones, Argentina
Posts: 23
Poder: 0
quali Va por buen camino
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
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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 21:44:31
Delphi con Postgres FlacoNet PostgreSQL 11 15-02-2010 16:37:46
Conectar Postgres con Delphi 7 Maury Manosalva PostgreSQL 3 12-12-2006 17:10:37
Delphi y Postgres trex2000 Conexión con bases de datos 2 19-09-2006 16:23:38
delphi 6 y zeos 6.1.5 jgutti Conexión con bases de datos 0 16-12-2004 21:36:34


La franja horaria es GMT +2. Ahora son las 04:38:44.


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
Copyright 1996-2007 Club Delphi