Re: Velocidad al traer datos desde la base

Lists: pgsql-es-ayuda
From: "Javier Ochoa" <jochoa(at)vmsistemas(dot)com(dot)ar>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Velocidad al traer datos desde la base
Date: 2007-07-16 16:05:09
Message-ID: BE8A1B3E-1F2B-470D-AA5F-B294E90159C0@dtcwin063.dattaweb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Buenas tardes…tengo el siguiente problema.

Tengo 2 máquinas conectadas en red LAN, una Pentium IV nueva, donde tengo
instalada la base de datos postgresql 8.1 y una maquina mas viejita (pero no
tanto) la cual se conecta a la base de datos a través del ODBC. Ahora, en la
maquina nueva el sistema que estoy haciendo de facturación funciona muy bien
al traer los datos de los artículos cada vez que quiero agregar un ítem de
la factura (mas o menos unos 3000 artículos trae la consulta), anda
rapidísimo. El problema está cuando quiero facturar con la maquina vieja
(cliente) al traerme los artículos demora muchísimo. Que puede ser? A
Alguien lo paso algo similar?

Lo raro es que antes tenía al revés, la base de datos instalada en la
maquina vieja, y la maquina nueva estaba como cliente. En la maquina vieja
traía rápido la consulta y en la nueva también. Que puede ser entonces?

Les agradezco todas las opiniones y/o sugerencias.

Javier Ochoa

Ingeniero en Sistemas de Información

Analista de Sistemas

Mail: HYPERLINK "mailto:jochoa(at)vmsistemas(dot)com(dot)ar"jochoa(at)vmsistemas(dot)com(dot)ar

Alternativo: HYPERLINK
"mailto:jochoa(at)racingclub(dot)com(dot)ar"jochoa(at)racingclub(dot)com(dot)ar

Msn Hotmail: HYPERLINK "mailto:javier_8a(at)hotmail(dot)com"javier_8a(at)hotmail(dot)com

Msn Yahoo: HYPERLINK
"mailto:jorgejavier8a(at)yahoo(dot)com(dot)ar"jorgejavier8a(at)yahoo(dot)com(dot)ar

No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.10.6/902 - Release Date: 15/07/2007
14:21


From: Arturo Munive <arturomunive(at)gmail(dot)com>
To: Javier Ochoa <jochoa(at)vmsistemas(dot)com(dot)ar>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Velocidad al traer datos desde la base
Date: 2007-07-16 17:14:41
Message-ID: 469BA781.3000201@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

No es una solucion exacta a lo que pides, pero si un consejo:

No traigas los 3000 articulos de frente para facturar, es muy mala practica.

busca hacer un pre-filtrado de que es lo que quieres traer.
no se por parte del nombre o por categorías tu ve.

pero si con esas ideas vas a seguir haciendo tu sistema el problema de
lentitud obvio no estará en tu base de datos


From: " Sebastián Salazar Molina(dot)" <sebastian(at)linuxchile(dot)cl>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Velocidad al traer datos desde la base
Date: 2007-07-16 17:33:55
Message-ID: 200707161333.55800.sebastian@linuxchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

On Monday 16 July 2007 12:05:09 Javier Ochoa wrote:
> Buenas tardes…tengo el siguiente problema.
>
> Tengo 2 máquinas conectadas en red LAN, una Pentium IV nueva, donde tengo
> instalada la base de datos postgresql 8.1 y una maquina mas viejita (pero
> no tanto) la cual se conecta a la base de datos a través del ODBC. Ahora,
> en la maquina nueva el sistema que estoy haciendo de facturación funciona
> muy bien al traer los datos de los artículos cada vez que quiero agregar un
> ítem de la factura (mas o menos unos 3000 artículos trae la consulta), anda
> rapidísimo. El problema está cuando quiero facturar con la maquina vieja
> (cliente) al traerme los artículos demora muchísimo. Que puede ser? A
> Alguien lo paso algo similar?
>
> Lo raro es que antes tenía al revés, la base de datos instalada en la
> maquina vieja, y la maquina nueva estaba como cliente. En la maquina vieja
> traía rápido la consulta y en la nueva también. Que puede ser entonces?
>
> Les agradezco todas las opiniones y/o sugerencias.

Cómo comentaron antes, es difícil darte una solución exacta para tu problema,
podrías especificar Sistema Operativo, Lenguaje de Programación para poder
orientarte mejor.

Hace algún tiempo tuve un problema de lentitud, al tratar de procesar unos
datos con R (Software de estadísticas) y el problema era el ODBC, lo cambié
por algo más "nativo" y mejoró mucho, no recuerdo la magnitud exacta, pero
con RODBC me demoraba muchos minutos (con seguridad más de 3 minutos),
mientras que la misma consulta con Rpgsql me tomó 758.697 ms y me traía
2168 filas.


From: Arturo Munive <arturomunive(at)gmail(dot)com>
To: "Sebastián Salazar Molina(dot)" <sebastian(at)linuxchile(dot)cl>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Velocidad al traer datos desde la base
Date: 2007-07-16 17:42:48
Message-ID: 469BAE18.9020806@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Sebastián Salazar Molina. escribió:
> Hace algún tiempo tuve un problema de lentitud, al tratar de procesar unos
> datos con R (Software de estadísticas) y el problema era el ODBC, lo cambié
> por algo más "nativo" y mejoró mucho
Yo tambien tuve un problema con ODBC bajo WinXP y java cuando deje de
usar ODBC e hice la conexión con el driver para java adios a los problemas.

Bien ahora que sea rapido no justuifica que se retornen registros que no
son necesarios, puesto que no creo que una persona que este facturando
deba escoger a la vez entre 3000 productos o items.

Seguro encontraras de hacer una consulta más selectiva de cualquier modo.


From: Jenaro Centeno Gomez <jcenteno(at)aldia(dot)com(dot)mx>
To: "Sebastián Salazar Molina(dot)" <sebastian(at)linuxchile(dot)cl>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Velocidad al traer datos desde la base
Date: 2007-07-16 21:15:40
Message-ID: 469BDFFC.1020007@aldia.com.mx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Sebastián Salazar Molina. escribió:
> On Monday 16 July 2007 12:05:09 Javier Ochoa wrote:
>> Buenas tardes…tengo el siguiente problema.
>>
>> Tengo 2 máquinas conectadas en red LAN, una Pentium IV nueva, donde tengo
>> instalada la base de datos postgresql 8.1 y una maquina mas viejita (pero
>> no tanto) la cual se conecta a la base de datos a través del ODBC. Ahora,
>> en la maquina nueva el sistema que estoy haciendo de facturación funciona
>> muy bien al traer los datos de los artículos cada vez que quiero agregar un
>> ítem de la factura (mas o menos unos 3000 artículos trae la consulta), anda
>> rapidísimo. El problema está cuando quiero facturar con la maquina vieja
>> (cliente) al traerme los artículos demora muchísimo. Que puede ser? A
>> Alguien lo paso algo similar?
>>
>> Lo raro es que antes tenía al revés, la base de datos instalada en la
>> maquina vieja, y la maquina nueva estaba como cliente. En la maquina vieja
>> traía rápido la consulta y en la nueva también. Que puede ser entonces?
>>
>> Les agradezco todas las opiniones y/o sugerencias.
>
> Cómo comentaron antes, es difícil darte una solución exacta para tu problema,
> podrías especificar Sistema Operativo, Lenguaje de Programación para poder
> orientarte mejor.
>
> Hace algún tiempo tuve un problema de lentitud, al tratar de procesar unos
> datos con R (Software de estadísticas) y el problema era el ODBC, lo cambié
> por algo más "nativo" y mejoró mucho, no recuerdo la magnitud exacta, pero
> con RODBC me demoraba muchos minutos (con seguridad más de 3 minutos),
> mientras que la misma consulta con Rpgsql me tomó 758.697 ms y me traía
> 2168 filas.
> --
> ---------------------------(fin del mensaje)---------------------------
> TIP 5: �Has le�do nuestro extenso FAQ?
> http://www.postgresql.org/files/documentation/faqs/FAQ.html
>
>
La mayoría de las veces este tipo de problemas tiene que ver con la configuración de la red, sobre todo en computadoras con Windows, revisa que solo
tengas los protocolos necesarios, que esten bien configurados, revisa que tu vacuna no este revisando las bases de datos, que tu firewall este
correctamente configurado, por experiencia es lo que te puedo recomendar.

Saludos.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGm9/7+nACvgizD48RAklYAKDShq1C7gsqE4I3F7sJKT30RJA8sACeKTst
KCuB9wPVuH7Fjwm3Q7lhITw=
=kKdS
-----END PGP SIGNATURE-----

Attachment Content-Type Size
jcenteno.vcf text/x-vcard 521 bytes

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Javier Ochoa <jochoa(at)vmsistemas(dot)com(dot)ar>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Velocidad al traer datos desde la base
Date: 2007-07-16 21:48:31
Message-ID: 20070716214831.GB5032@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Javier Ochoa escribió:
> Buenas tardes…tengo el siguiente problema.
>
> Tengo 2 máquinas conectadas en red LAN, una Pentium IV nueva, donde tengo
> instalada la base de datos postgresql 8.1 y una maquina mas viejita (pero no
> tanto) la cual se conecta a la base de datos a través del ODBC. Ahora, en la
> maquina nueva el sistema que estoy haciendo de facturación funciona muy bien
> al traer los datos de los artículos cada vez que quiero agregar un ítem de
> la factura (mas o menos unos 3000 artículos trae la consulta), anda
> rapidísimo. El problema está cuando quiero facturar con la maquina vieja
> (cliente) al traerme los artículos demora muchísimo. Que puede ser? A
> Alguien lo paso algo similar?

Que tal si vemos un EXPLAIN ANALYZE?

--
Alvaro Herrera http://www.flickr.com/photos/alvherre/
"And as an added bonus, now my computer goes to the toilet for me, leaving me
free to spend time on more useful activities! yay slug codefests!" (C. Parker)


From: "Javier Ochoa" <jochoa(at)vmsistemas(dot)com(dot)ar>
To: "'Arturo Munive'" <arturomunive(at)gmail(dot)com>, '"Sebastián Salazar Molina(dot)"' <sebastian(at)linuxchile(dot)cl>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Velocidad al traer datos desde la base
Date: 2007-07-16 21:53:38
Message-ID: 89736FEC-37EC-4560-A0A4-34E11894435D@dtcwin063.dattaweb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Muchas gracias por sus sugerencias, ahora lo que yo veo es que para poder
buscar algún artículo necesito tener todos los artículos disponibles. Y
estamos hablando de 3000 artículos (no es tanto). Por ejemplo: cada vez que
agrego un ítem o escribo el código del artículo y me trae los datos, o
tecleo Enter y me abre una ventana con todos los artículos disponibles
ordenados por código. Si yo en un campo de edición tecleo 2 letras por
ejemplo "MO" me filtra todos los artículos que empiecen con "MO". Por eso la
necesidad de traer todos los artículos.
Pero para mi que el problema podría estar en el ODBC o por otro lado, ya que
esa misma consulta en la maquina nueva, donde esta la base de datos, la hace
muy rápido. El problema es en la maquina cliente.
Bueno muchas gracias nuevamente y escucho sugerencias.
Ya se que no hay una solución exacta.
Ah! Las dos maquinas tiene Windows XP Proffessional.-

Javier Ochoa
Ingeniero en Sistemas de Información
Analista de Sistemas

Mail: jochoa(at)vmsistemas(dot)com(dot)ar
Alternativo: jochoa(at)racingclub(dot)com(dot)ar
Msn Hotmail: javier_8a(at)hotmail(dot)com
Msn Yahoo: jorgejavier8a(at)yahoo(dot)com(dot)ar

-----Mensaje original-----
De: pgsql-es-ayuda-owner(at)postgresql(dot)org
[mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Arturo Munive
Enviado el: Lunes 16 de Julio de 2007 14:43
Para: "Sebastián Salazar Molina."
CC: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] Velocidad al traer datos desde la base

Sebastián Salazar Molina. escribió:
> Hace algún tiempo tuve un problema de lentitud, al tratar de procesar unos

> datos con R (Software de estadísticas) y el problema era el ODBC, lo
cambié
> por algo más "nativo" y mejoró mucho
Yo tambien tuve un problema con ODBC bajo WinXP y java cuando deje de
usar ODBC e hice la conexión con el driver para java adios a los problemas.

Bien ahora que sea rapido no justuifica que se retornen registros que no
son necesarios, puesto que no creo que una persona que este facturando
deba escoger a la vez entre 3000 productos o items.

Seguro encontraras de hacer una consulta más selectiva de cualquier modo.
--
---------------------------(fin del mensaje)---------------------------
TIP 4: No hagas 'kill -9' a postmaster

No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.10.6/902 - Release Date: 15/07/2007
14:21

No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.10.6/902 - Release Date: 15/07/2007
14:21


From: Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com>
To: Javier Ochoa <jochoa(at)vmsistemas(dot)com(dot)ar>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Velocidad al traer datos desde la base
Date: 2007-07-16 23:36:52
Message-ID: 619199.90904.qm@web63708.mail.re1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda


--- Javier Ochoa <jochoa(at)vmsistemas(dot)com(dot)ar> escribió:

> Buenas tardes…tengo el siguiente problema.
>
> Tengo 2 máquinas conectadas en red LAN, una Pentium
> IV nueva, donde tengo
> instalada la base de datos postgresql 8.1 y una
> maquina mas viejita (pero no
> tanto) la cual se conecta a la base de datos a
> través del ODBC. Ahora, en la
> maquina nueva el sistema que estoy haciendo de
> facturación funciona muy bien
> al traer los datos de los artículos cada vez que
> quiero agregar un ítem de
> la factura (mas o menos unos 3000 artículos trae la
> consulta), anda
> rapidísimo. El problema está cuando quiero facturar
> con la maquina vieja
> (cliente) al traerme los artículos demora muchísimo.
> Que puede ser? A
> Alguien lo paso algo similar?
>
> Lo raro es que antes tenía al revés, la base de
> datos instalada en la
> maquina vieja, y la maquina nueva estaba como
> cliente. En la maquina vieja
> traía rápido la consulta y en la nueva también. Que
> puede ser entonces?
>
> Les agradezco todas las opiniones y/o sugerencias.
>
>
>
>
>
> Javier Ochoa
>
> Ingeniero en Sistemas de Información
>
> Analista de Sistemas
>
>
>
> Mail: HYPERLINK
>
"mailto:jochoa(at)vmsistemas(dot)com(dot)ar"jochoa(at)vmsistemas(dot)com(dot)ar
>
> Alternativo: HYPERLINK
>
"mailto:jochoa(at)racingclub(dot)com(dot)ar"jochoa(at)racingclub(dot)com(dot)ar
>
> Msn Hotmail: HYPERLINK
> "mailto:javier_8a(at)hotmail(dot)com"javier_8a(at)hotmail(dot)com
>
> Msn Yahoo: HYPERLINK
>
"mailto:jorgejavier8a(at)yahoo(dot)com(dot)ar"jorgejavier8a(at)yahoo(dot)com(dot)ar
>
>
>
>
>
>
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.5.476 / Virus Database: 269.10.6/902 -
> Release Date: 15/07/2007
> 14:21
>
>
Decime que sistema operativo tenes en cada uno, ya he
pasado por algo asi, y cambie la version de odbc, al
actualizarla es mejor que desinstalar e instalar otra,
el bat para actualizar debe ser modificado en el path
si no ni modo.

La actualizacion te va a actualizar el manager y
agregar dos mas, tenes que probar cual es el optimo
segun tu codificacion de base de datos.

Otro tema es que si el cliente no es xp un ping puede
ser mas lento desde esa maquina, que si se hace de xp
hacia la otra.

Tambien manejo un sistema de facturacion, desarrollado
en VB6 y tengo clientes desde 6000 articulos hasta
200.000. Es mas tengo uno con 10 maquinas concurrentes
P4
a un servidor P3 500 mhz 512 MB de Memoria con Windows
2000 y soporta toda la gestion de la empresa con
postgresql, el rendimiento que tengo ahi no lo puedo
creer. Ahi en MSSQL ni pensar hacer algo como lo que
hago con PostgreSQL.

Tengo instalado 8.2.4 que es 20% mas rapida que 8.1.
Te sugiero busques por el ODBC.

Y los ping desde una a otra probalos tambien.

Atte.
Desde Uruguay
Gabriel Hermes Colina Zambra.

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/


From: Mario Wojcik <mariowojcik(at)yahoo(dot)com(dot)ar>
To: Javier Ochoa <jochoa(at)vmsistemas(dot)com(dot)ar>, Lista de Ayuda Postgresql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Velocidad al traer datos desde la base
Date: 2007-07-16 23:39:08
Message-ID: 469C019C.2010203@yahoo.com.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Javier Ochoa escribió:
> Muchas gracias por sus sugerencias, ahora lo que yo veo es que para poder
> buscar algún artículo necesito tener todos los artículos disponibles. Y
> estamos hablando de 3000 artículos (no es tanto). Por ejemplo: cada vez que
> agrego un ítem o escribo el código del artículo y me trae los datos, o
> tecleo Enter y me abre una ventana con todos los artículos disponibles
> ordenados por código. Si yo en un campo de edición tecleo 2 letras por
> ejemplo "MO" me filtra todos los artículos que empiecen con "MO". Por eso la
> necesidad de traer todos los artículos.
> Pero para mi que el problema podría estar en el ODBC o por otro lado, ya que
> esa misma consulta en la maquina nueva, donde esta la base de datos, la hace
> muy rápido. El problema es en la maquina cliente.
> Bueno muchas gracias nuevamente y escucho sugerencias.
> Ya se que no hay una solución exacta.
> Ah! Las dos maquinas tiene Windows XP Proffessional.-
>
> Javier Ochoa
> Ingeniero en Sistemas de Información
> Analista de Sistemas
>
Hola Javier.
En que lenguaje programas?

--
=======================
Wojcik, Mario A.
=======================
Misiones
A R G E N T I N A
-----------------------
mariowojcik(at)yaho(dot)com(dot)ar
mariow(at)nodoalem(dot)com(dot)ar
-----------------------


From: Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com>
To: Arturo Munive <arturomunive(at)gmail(dot)com>, Javier Ochoa <jochoa(at)vmsistemas(dot)com(dot)ar>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Velocidad al traer datos desde la base
Date: 2007-07-16 23:45:54
Message-ID: 720118.19247.qm@web63714.mail.re1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda


--- Arturo Munive <arturomunive(at)gmail(dot)com> escribió:

> No es una solucion exacta a lo que pides, pero si
> un consejo:
>
> No traigas los 3000 articulos de frente para
> facturar, es muy mala practica.
>
> busca hacer un pre-filtrado de que es lo que quieres
> traer.
> no se por parte del nombre o por categorías tu ve.
>
> pero si con esas ideas vas a seguir haciendo tu
> sistema el problema de
> lentitud obvio no estará en tu base de datos
> --
> ---------------------------(fin del
> mensaje)---------------------------
> TIP 5: ¿Has leído nuestro extenso FAQ?
>
>
http://www.postgresql.org/files/documentation/faqs/FAQ.html
> \
Tengo los dos metodos, la primera vez busco por el
codigo si no lo encuentro le desplego una pantalla
donde puede aplicar varios filtros y tambien puede
desplegarlo todos.

No tengo problemas con 19000 articulos que los puede
buscar por descripcion o por codigo dentro del filtro
o sin filtrar.

El sever W2000, PostgreSQL 8.2.4 usuarios concurrentes
10 XP con P4 y el servidor una lastima, P3 500 mhz y
512 mb de ram.

El tema es que tengo todo coherente, sobre el encoding
de instalacion de postgresql, el encoding de la bd, el
del cliente y la version odbc que uso para mi version
de postgresql.

Se que es mas eficiente traer un conjunto que todos
los registros, pero con PostgreSQL, 3000 articulos no
es nada.

Atte.
Gabriel Hermes Colina Zambra

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/


From: Mario Cassanelli <mcassan(at)speedy(dot)com(dot)ar>
To:
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Velocidad al traer datos desde la base
Date: 2007-07-17 12:06:03
Message-ID: 469CB0AB.7080805@speedy.com.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Alvaro Herrera wrote:
> Javier Ochoa escribió:
>
>> Buenas tardes...tengo el siguiente problema.
>>
>> Tengo 2 máquinas conectadas en red LAN, una Pentium IV nueva, donde tengo
>> instalada la base de datos postgresql 8.1 y una maquina mas viejita (pero no
>> tanto) la cual se conecta a la base de datos a través del ODBC. Ahora, en la
>> maquina nueva el sistema que estoy haciendo de facturación funciona muy bien
>> al traer los datos de los artículos cada vez que quiero agregar un ítem de
>> la factura (mas o menos unos 3000 artículos trae la consulta), anda
>> rapidísimo. El problema está cuando quiero facturar con la maquina vieja
>> (cliente) al traerme los artículos demora muchísimo. Que puede ser? A
>> Alguien lo paso algo similar?
>>
>
> Que tal si vemos un EXPLAIN ANALYZE?
>
>
Te hago una pregunta, con que o que usas para visualizar los 3000
articulos ..?

Saludos
Mario


From: Arturo Munive <arturomunive(at)gmail(dot)com>
To: Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com>
Cc: Javier Ochoa <jochoa(at)vmsistemas(dot)com(dot)ar>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Velocidad al traer datos desde la base
Date: 2007-07-17 13:44:19
Message-ID: 469CC7B3.4060507@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda


>
> El sever W2000, PostgreSQL 8.2.4 usuarios concurrentes
> 10 XP con P4 y el servidor una lastima, P3 500 mhz y
> 512 mb de ram.
>
> El tema es que tengo todo coherente, sobre el encoding
> de instalacion de postgresql, el encoding de la bd, el
> del cliente y la version odbc que uso para mi version
> de postgresql.
>
> Se que es mas eficiente traer un conjunto que todos
> los registros, pero con PostgreSQL, 3000 articulos no
> es nada.
*Ok pero si un "zapato sirve para matar una mosca no quiere decir que se
un matamosca"
lo que quiero decir es que como dicen la optimización temprana es muy
mala idea, supongo que si se va a empezar a optimizar algo debe ser de
desde los procesos.

Con esto quiero decir si quiere ver por que va tan lento debe primero
estar seguro que sus metodos de trabajo son lo suficientemente
eficientes (sin ciclos redundantes, trafico de datos innecesario)
una vez cubierto eso, recien puede uno "quejarse" de que por que
postgres me devuelve lento lo s datos etc.

Además tu como yo y todos aqui, sabemos de la potencia de Postgres, asi
que si algo anda lento con esa cantidad de datos 3000 lo mas probable es
que el "error" este en la programación no crees.

Ahora para determinar a fonndo cual es el problema real deberia ser mas
especifico.

cosas como computadora viejita, no nos dice mucho.
*


From: Arturo Munive <arturomunive(at)gmail(dot)com>
To: Mario Cassanelli <mcassan(at)speedy(dot)com(dot)ar>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Velocidad al traer datos desde la base
Date: 2007-07-17 13:54:35
Message-ID: 469CCA1B.2070401@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Mario Cassanelli escribió:
> Te hago una pregunta, con que o que usas para visualizar los 3000
> articulos ..?
>
> Saludos
> Mario
>
Eso sería bueno saberlo vez uno de mis alumnos en un curso de Java traía
2000 articulos a un control ComboBox en la interfaz grafica de usuario,
obviamente eso estaba mal.


From: Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com>
To: Arturo Munive <arturomunive(at)gmail(dot)com>
Cc: Javier Ochoa <jochoa(at)vmsistemas(dot)com(dot)ar>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Velocidad al traer datos desde la base
Date: 2007-07-17 18:39:03
Message-ID: 533611.31976.qm@web63706.mail.re1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda


--- Arturo Munive <arturomunive(at)gmail(dot)com> escribió:

>
> >
> > El sever W2000, PostgreSQL 8.2.4 usuarios
> concurrentes
> > 10 XP con P4 y el servidor una lastima, P3 500 mhz
> y
> > 512 mb de ram.
> >
> > El tema es que tengo todo coherente, sobre el
> encoding
> > de instalacion de postgresql, el encoding de la
> bd, el
> > del cliente y la version odbc que uso para mi
> version
> > de postgresql.
> >
> > Se que es mas eficiente traer un conjunto que
> todos
> > los registros, pero con PostgreSQL, 3000 articulos
> no
> > es nada.
> *Ok pero si un "zapato sirve para matar una mosca no
> quiere decir que se
> un matamosca"
> lo que quiero decir es que como dicen la
> optimización temprana es muy
> mala idea, supongo que si se va a empezar a
> optimizar algo debe ser de
> desde los procesos.
>
> Con esto quiero decir si quiere ver por que va tan
> lento debe primero
> estar seguro que sus metodos de trabajo son lo
> suficientemente
> eficientes (sin ciclos redundantes, trafico de datos
> innecesario)
> una vez cubierto eso, recien puede uno "quejarse" de
> que por que
> postgres me devuelve lento lo s datos etc.
>
> Además tu como yo y todos aqui, sabemos de la
> potencia de Postgres, asi
> que si algo anda lento con esa cantidad de datos
> 3000 lo mas probable es
> que el "error" este en la programación no crees.
>
>
> Ahora para determinar a fonndo cual es el problema
> real deberia ser mas
> especifico.
>
> cosas como computadora viejita, no nos dice mucho.
> *
> --
> ---------------------------(fin del
> mensaje)---------------------------
> TIP 1: para suscribirte y desuscribirte, visita
> http://archives.postgresql.org/pgsql-es-ayuda
>
Y si por eso en algo que no pusiste aqui pero que
mencione, pedia que le hiciera caso a Alvaro con
respecto al Explain Analize, ademas de que los
problemas de performance de paso por ODBC se debe a
los controladores y encoding que uses.

El caso que exponia era por que muchos le dicen
mostrar todos los articulos esta mal, y en realidad
puede que si o puede que no, depende de la necesidad
del negocio, por ahi se pretende recorrer un catalogo
y mostrarlo visualizado al cliente con fotos y todo y
no estaria mal, no le voy a decir al cliente, no como
no se resolver esto de forma eficiente por que solo
tengo un "Mata Mosca", se los traigo de a uno. Eso no
lo hice nunca con MSSQL, te imaginas que con la
potencia de PostgreSQL menos, lo que hago es buscar
optimizar las consultas para desplegar rapido una
lista de 200.000 articulos si es necesario. Entonces
si un "Matamosca no me alcanza", fabrico un Shellton
con Vapona que es mas potente, y es que para eso uso
PostgreSQL, eso si me preocupo mucho de analizar los
indices, los join y de cada vez entender mas el
consejo de Alvaro de usar Explain Analize, es que el
consejo este es muy bueno, pero hay que saber leer y
analizar el resultado.

Mi referencia a los equipos y sistemas operativos, es
para que no se busque por ahi la causa, como tampoco
deberia ser la causa el hecho de que los desplegue
todos en un recordset.

La resolucion esta en revisar el explain analize y el
odbc, en este caso me juego en un 99% que viene por
ahi.

Atte.
Gabriel Hermes Colina Zambra

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/


From: "Javier Ochoa" <jochoa(at)vmsistemas(dot)com(dot)ar>
To: "'Arturo Munive'" <arturomunive(at)gmail(dot)com>, "'Mario Cassanelli'" <mcassan(at)speedy(dot)com(dot)ar>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Velocidad al traer datos desde la base
Date: 2007-07-18 13:52:12
Message-ID: EAC08F86-3726-406E-A326-90E5B78CDB37@dtcwin063.dattaweb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Hola Arturo, utilizo un DataWindow para visualizar los artículos.
Estoy Desarrollando en PowerBuilder.
Todavía no he tenido tiempo de probar todas las sugerencias que me han dado.
Cuando lo haga les comento como me fue.
Saludos.-

Javier Ochoa
Ingeniero en Sistemas de Información
Analista de Sistemas

Mail: jochoa(at)vmsistemas(dot)com(dot)ar
Alternativo: jochoa(at)racingclub(dot)com(dot)ar
Msn Hotmail: javier_8a(at)hotmail(dot)com
Msn Yahoo: jorgejavier8a(at)yahoo(dot)com(dot)ar

-----Mensaje original-----
De: pgsql-es-ayuda-owner(at)postgresql(dot)org
[mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Arturo Munive
Enviado el: Martes 17 de Julio de 2007 10:55
Para: Mario Cassanelli
CC: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] Velocidad al traer datos desde la base

Mario Cassanelli escribió:
> Te hago una pregunta, con que o que usas para visualizar los 3000
> articulos ..?
>
> Saludos
> Mario
>
Eso sería bueno saberlo vez uno de mis alumnos en un curso de Java traía
2000 articulos a un control ComboBox en la interfaz grafica de usuario,
obviamente eso estaba mal.
--
---------------------------(fin del mensaje)---------------------------
TIP 5: ¿Has leído nuestro extenso FAQ?
http://www.postgresql.org/files/documentation/faqs/FAQ.html

No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.10.6/902 - Release Date: 15/07/2007
14:21

No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.10.8/906 - Release Date: 17/07/2007
18:30


From: "Javier Ochoa" <jochoa(at)vmsistemas(dot)com(dot)ar>
To: "'Javier Ochoa'" <jochoa(at)vmsistemas(dot)com(dot)ar>, "'Arturo Munive'" <arturomunive(at)gmail(dot)com>, '"Sebastián Salazar Molina(dot)"' <sebastian(at)linuxchile(dot)cl>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Velocidad al traer datos desde la base
Date: 2007-07-18 21:56:10
Message-ID: C3879681-2445-4100-B066-0C7BF52BFF8E@dtcwin063.dattaweb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

-----Mensaje original-----
De: pgsql-es-ayuda-owner(at)postgresql(dot)org
[mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Javier Ochoa
Enviado el: Lunes 16 de Julio de 2007 18:54
Para: 'Arturo Munive'; '"Sebastián Salazar Molina."'
CC: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: RE: [pgsql-es-ayuda] Velocidad al traer datos desde la base

Muchas gracias por sus sugerencias, ahora lo que yo veo es que para poder
buscar algún artículo necesito tener todos los artículos disponibles. Y
estamos hablando de 3000 artículos (no es tanto). Por ejemplo: cada vez que
agrego un ítem o escribo el código del artículo y me trae los datos, o
tecleo Enter y me abre una ventana con todos los artículos disponibles
ordenados por código. Si yo en un campo de edición tecleo 2 letras por
ejemplo "MO" me filtra todos los artículos que empiecen con "MO". Por eso la
necesidad de traer todos los artículos.
Pero para mi que el problema podría estar en el ODBC o por otro lado, ya que
esa misma consulta en la maquina nueva, donde esta la base de datos, la hace
muy rápido. El problema es en la maquina cliente.
Bueno muchas gracias nuevamente y escucho sugerencias.
Ya se que no hay una solución exacta.
Ah! Las dos maquinas tiene Windows XP Proffessional.-

Javier Ochoa
Ingeniero en Sistemas de Información
Analista de Sistemas

Mail: jochoa(at)vmsistemas(dot)com(dot)ar
Alternativo: jochoa(at)racingclub(dot)com(dot)ar
Msn Hotmail: javier_8a(at)hotmail(dot)com
Msn Yahoo: jorgejavier8a(at)yahoo(dot)com(dot)ar

-----Mensaje original-----
De: pgsql-es-ayuda-owner(at)postgresql(dot)org
[mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Arturo Munive
Enviado el: Lunes 16 de Julio de 2007 14:43
Para: "Sebastián Salazar Molina."
CC: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] Velocidad al traer datos desde la base

Sebastián Salazar Molina. escribió:
> Hace algún tiempo tuve un problema de lentitud, al tratar de procesar unos

> datos con R (Software de estadísticas) y el problema era el ODBC, lo
cambié
> por algo más "nativo" y mejoró mucho
Yo tambien tuve un problema con ODBC bajo WinXP y java cuando deje de
usar ODBC e hice la conexión con el driver para java adios a los problemas.

Bien ahora que sea rapido no justuifica que se retornen registros que no
son necesarios, puesto que no creo que una persona que este facturando
deba escoger a la vez entre 3000 productos o items.

Seguro encontraras de hacer una consulta más selectiva de cualquier modo.

--
---------------------------(fin del mensaje)---------------------------
TIP 4: No hagas 'kill -9' a postmaster

Buenas, les cuento que me fue muy bien gracias a sus sugerencias.
Lo que hice fue: entre a la configuración del ODBC, a Manage DNS y ahí tenia
seleccionado PostGreSQL y elegí el que dice PostGreSQL Unicode y anduvo
perfecto. Una velocidad impresionante. Antes habia elegido el que dice
PostGreSQL ANSI, pero a algunos caracteres los deformaba. Pero el Unicode
anda re bien. Bueno les queria comentar solo eso.
Hasta pronto...

Javier Ochoa
Ingeniero en Sistemas de Información
Analista de Sistemas

Mail: jochoa(at)vmsistemas(dot)com(dot)ar
Alternativo: jochoa(at)racingclub(dot)com(dot)ar
Msn Hotmail: javier_8a(at)hotmail(dot)com
Msn Yahoo: jorgejavier8a(at)yahoo(dot)com(dot)ar

No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.10.6/902 - Release Date: 15/07/2007
14:21

No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.10.6/902 - Release Date: 15/07/2007
14:21

--
---------------------------(fin del mensaje)---------------------------
TIP 4: No hagas 'kill -9' a postmaster

No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.10.6/902 - Release Date: 15/07/2007
14:21

No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.476 / Virus Database: 269.10.8/906 - Release Date: 17/07/2007
18:30


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Javier Ochoa <jochoa(at)vmsistemas(dot)com(dot)ar>
Cc: Arturo Munive <arturomunive(at)gmail(dot)com>, Sebastián Salazar Molina <sebastian(at)linuxchile(dot)cl>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Velocidad al traer datos desde la base
Date: 2007-07-18 23:44:43
Message-ID: 20070718234443.GL6651@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Javier Ochoa escribió:

> Muchas gracias por sus sugerencias, ahora lo que yo veo es que para poder
> buscar algún artículo necesito tener todos los artículos disponibles. Y
> estamos hablando de 3000 artículos (no es tanto). Por ejemplo: cada vez que
> agrego un ítem o escribo el código del artículo y me trae los datos, o
> tecleo Enter y me abre una ventana con todos los artículos disponibles
> ordenados por código. Si yo en un campo de edición tecleo 2 letras por
> ejemplo "MO" me filtra todos los artículos que empiecen con "MO". Por eso la
> necesidad de traer todos los artículos.

No hagas eso. Mejor, exige que se ingresen caracteres antes de hacer la
primera busqueda. Solo haz una busqueda cuando haya ingresado un minimo
de dos caracteres; en ese momento la aplicacion envia una consulta que
tenga un WHERE codigo LIKE 'MO%'. Y le muestras todos esos registros.
Luego si agrega un tercer caracter, hacer la consulta nuevamente con
LIKE 'MOA%', etc.

El problema es que traerlos todos significa mover los datos a traves de
la red, desplegarlos en el widget grafico, etc. Eso es lento, sobre
todo si la maquina es "viejita".

> Pero para mi que el problema podría estar en el ODBC o por otro lado, ya que
> esa misma consulta en la maquina nueva, donde esta la base de datos, la hace
> muy rápido. El problema es en la maquina cliente.

Si el server lo hace rapido entonces claramente no es problema del
server. Tu dices que "3000 articulos no es tanto" pero no has medido
que tan bien se comporta si en vez de traer 3000 articulos traes solo
100 (o por lo menos no dices si lo mediste).

Otra cosa: cuando te pedi el EXPLAIN ANALYZE, me referia a que
entregaras la salida de

EXPLAIN ANALYZE SELECT codigo, .. FROM articulos, ...

Pero si tu dices que en el server la consulta es rapida, entonces no
importa.

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


From: "Alejandro D(dot) Burne" <alejandro(dot)dburne(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Velocidad al traer datos desde la base
Date: 2007-07-19 15:04:41
Message-ID: 8398dc6d0707190804p39e07d86g8374abbbc921b44@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

El 16/07/07, Javier Ochoa <jochoa(at)vmsistemas(dot)com(dot)ar> escribió:
> Muchas gracias por sus sugerencias, ahora lo que yo veo es que para poder
> buscar algún artículo necesito tener todos los artículos disponibles. Y
> estamos hablando de 3000 artículos (no es tanto). Por ejemplo: cada vez que
> agrego un ítem o escribo el código del artículo y me trae los datos, o
> tecleo Enter y me abre una ventana con todos los artículos disponibles
> ordenados por código. Si yo en un campo de edición tecleo 2 letras por
> ejemplo "MO" me filtra todos los artículos que empiecen con "MO". Por eso la
> necesidad de traer todos los artículos.
> Pero para mi que el problema podría estar en el ODBC o por otro lado, ya que
> esa misma consulta en la maquina nueva, donde esta la base de datos, la hace
> muy rápido. El problema es en la maquina cliente.
> Bueno muchas gracias nuevamente y escucho sugerencias.
> Ya se que no hay una solución exacta.
> Ah! Las dos maquinas tiene Windows XP Proffessional.-

La lentitud probablemente tenga que ver con el controlador odbc, en
caso de que sea el mismo la única diferencia que tenes entre los dos
equipos es tu red, habría que ver la longitud de esos 3000 registros
para ver la cantidad de paquetes que necesitas enviar
por la red.

Por las características de la consulta que estas realizando, creo, lo
aconsejable sería que en vez de traer todos los registros, y luego
filtrarlos en el cliente, solo traer la información que el cliente
necesita en este caso algo como:
SELECT NombreArticulo, CodigoArticulo FROM Articulos WHERE
NombreArticulo LIKE 'MO%';
adicionalmente le pondría un limit para evitar que un usuario te
ingrese uno o dos caracteres solamente:
SELECT NombreArticulo, CodigoArticulo FROM Articulos WHERE
NombreArticulo LIKE 'MO%' LIMIT 100;
es poco probable que necesite buscar en más de 100 artículos, sino que
redefina su criterio de búsqueda.
Alternativamente podrías brindarle a tus usuarios algunos "tips" para
mejorar las búsquedas por ejemplo enseñarles el uso del "%" como
comodín (me ha dado muy buenos resultados), para buscar todos los
"CHOCOLATES FELFORT"
SELECT NombreArticulo, CodigoArticulo FROM Articulos WHERE
NombreArticulo LIKE '%CHOCO%FELFORT%' LIMIT 100;

Suerte, Alejandro


From: "Marcelino Guerrero" <mguerreroh(at)gmail(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Velocidad al traer datos desde la base
Date: 2007-08-15 18:12:59
Message-ID: !&!AAAAAAAAAAAYAAAAAAAAAObv135PxmpEjpLpKg1A1AHigQAAEAAAALl3Ru7S9d9GuqXSKAPFOBMBAAAAAA==@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Jeje, ojala que hayan solucionado esto pero si aun sigue en el tintero les
comento que tuve un problema parecido con un Sistema que herede el cual
trabajaba con M$ Access (aghhh), pero bueno logre migrar a Postgres, el
problema era la conexión se realizaba en modo de Lectura y Escritura, cuando
se realizo el cambio a solo Lectura la situación cambio.

Espero que sirva.

Slds

-----Mensaje original-----
De: pgsql-es-ayuda-owner(at)postgresql(dot)org
[mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Alejandro D. Burne
Enviado el: jueves, 19 de julio de 2007 10:05
Para: pgsql-es-ayuda(at)postgresql(dot)org
Asunto: Re: [pgsql-es-ayuda] Velocidad al traer datos desde la base

El 16/07/07, Javier Ochoa <jochoa(at)vmsistemas(dot)com(dot)ar> escribió:
> Muchas gracias por sus sugerencias, ahora lo que yo veo es que para poder
> buscar algún artículo necesito tener todos los artículos disponibles. Y
> estamos hablando de 3000 artículos (no es tanto). Por ejemplo: cada vez
que
> agrego un ítem o escribo el código del artículo y me trae los datos, o
> tecleo Enter y me abre una ventana con todos los artículos disponibles
> ordenados por código. Si yo en un campo de edición tecleo 2 letras por
> ejemplo "MO" me filtra todos los artículos que empiecen con "MO". Por eso
la
> necesidad de traer todos los artículos.
> Pero para mi que el problema podría estar en el ODBC o por otro lado, ya
que
> esa misma consulta en la maquina nueva, donde esta la base de datos, la
hace
> muy rápido. El problema es en la maquina cliente.
> Bueno muchas gracias nuevamente y escucho sugerencias.
> Ya se que no hay una solución exacta.
> Ah! Las dos maquinas tiene Windows XP Proffessional.-

La lentitud probablemente tenga que ver con el controlador odbc, en
caso de que sea el mismo la única diferencia que tenes entre los dos
equipos es tu red, habría que ver la longitud de esos 3000 registros
para ver la cantidad de paquetes que necesitas enviar
por la red.

Por las características de la consulta que estas realizando, creo, lo
aconsejable sería que en vez de traer todos los registros, y luego
filtrarlos en el cliente, solo traer la información que el cliente
necesita en este caso algo como:
SELECT NombreArticulo, CodigoArticulo FROM Articulos WHERE
NombreArticulo LIKE 'MO%';
adicionalmente le pondría un limit para evitar que un usuario te
ingrese uno o dos caracteres solamente:
SELECT NombreArticulo, CodigoArticulo FROM Articulos WHERE
NombreArticulo LIKE 'MO%' LIMIT 100;
es poco probable que necesite buscar en más de 100 artículos, sino que
redefina su criterio de búsqueda.
Alternativamente podrías brindarle a tus usuarios algunos "tips" para
mejorar las búsquedas por ejemplo enseñarles el uso del "%" como
comodín (me ha dado muy buenos resultados), para buscar todos los
"CHOCOLATES FELFORT"
SELECT NombreArticulo, CodigoArticulo FROM Articulos WHERE
NombreArticulo LIKE '%CHOCO%FELFORT%' LIMIT 100;

Suerte, Alejandro
--
---------------------------(fin del mensaje)---------------------------
TIP 2: puedes desuscribirte de todas las listas simultáneamente
(envíe "unregister TuDirecciónDeCorreo" a majordomo(at)postgresql(dot)org)