Re: Velocidad al traer datos desde la base

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
Thread:
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.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jorge Niedbalski 2007-07-19 00:04:11 Re: Hacer update sobre tablas con integridad
Previous Message Alvaro Herrera 2007-07-18 23:17:45 Re: Programación en C