Re: El indice no mejora me mejora el rendimiento de mis consultas.

From: Emanuel Calvo Franco <postgres(dot)arg(at)gmail(dot)com>
To: Sebastian Machuca <serroba(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: El indice no mejora me mejora el rendimiento de mis consultas.
Date: 2009-08-27 12:48:18
Message-ID: f205bb120908270548l1dca4edawb84c1e41eeced5aa@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El 26 de agosto de 2009 23:28, Sebastian Machuca<serroba(at)gmail(dot)com> escribió:
>
> Este es un ejemplo. Se que son solo 2, porque estoy en entorno de
> desarrollo, en producción, el orden es de al menos unos 30.000 números
> distintos, en una tabla de unos 3.000.000 de registros.
>

Entonces, no podés hacer calculos de este tipo en un ambiente de desarrollo. En
especial si no contas con un set de datos real o al menos aproximado.

> Por eso pense que un indice debería ayudar en mi problema. O sea, cuando lo
> hago sobre las tablas de produccion, los tiempos son de muchos segundo, y el
> tener un indice mejora en por lo menos un 50% el tiempo de consulta. Pero de
> todos modos, no me convence el tiempo de respuesta.
>

Tenés que tocar la configuración del servidor, además de tener otro
tipo de técnicas
para mejorar el rendimiento.

Pasanos los valores del postgresql.conf de work_mem, shared_buffers,
effective_cache_size,
también de la WAL que pr lo visto hace uso intensivo.
Además de los parámetros del kernel del SO

> La base tiene un crecimiento de unos 30.000 registros por hora en sus
> momentos peaks, por lo tanto manter las estadisticas actualizadas,
> sobrecargaria el sistema innecesariamente creo yo.
> Por que no solo es crecimiento, tiene mucha actividad de tipo batch. (cada
> 15 minutos corren scripts de actualizacion de informacion)
>

Tenés RAID? Que tipo?
Como están las estadisticas de I/O desde el sistema operativo?

>> Yo lo haria de una manera más radical...
>> select unnest(most_common_vals::text::int[]) from pg_stats where
>> tablename ~ 'tx8';
>>

respecto a esto, en 8.3 tendrias que utilizar
replace(regexp_split_to_table(most_common_vals::text,',')::text,'({|})','')
no lo probé pero puede ser util.

--
Emanuel Calvo Franco
DBA at: www.siu.edu.ar
www.emanuelcalvofranco.com.ar

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Sebastian Machuca 2009-08-27 13:14:35 Re: El indice no mejora me mejora el rendimiento de mis consultas.
Previous Message Jaime Casanova 2009-08-27 05:48:21 Re: El indice no mejora me mejora el rendimiento de mis consultas.