Re: Performance y Postgresql.conf

From: Yasset Perez Riverol <yasset(dot)perez(at)biocomp(dot)cigb(dot)edu(dot)cu>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Silvio Quadri <silvioq(at)gmail(dot)com>, postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Performance y Postgresql.conf
Date: 2008-02-12 14:34:09
Message-ID: 200802120934.11703.yasset.perez@biocomp.cigb.edu.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Tuesday 12 February 2008 9:43:26 am Alvaro Herrera wrote:
> Yasset Perez Riverol escribió:
> > On Tuesday 12 February 2008 9:28:49 am Alvaro Herrera wrote:
> > > Yasset Perez Riverol escribió:
> > > > Silvio lo que me dices de tener una tabla con la estadistica ya lo
> > > > pense pero sobre 5 millones de [registros] creo que count(*) no debe
> > > > dar un resultado como este:
> > > >
> > > > QUERY PLAN
> > > > ---------------------------------------------------------------------
> > > >---- ------------------------------------------------------ Aggregate
> > > > (cost=200569.48..200569.49 rows=1 width=71) (actual
> > > > time=28574.282..28574.284 rows=1 loops=1)
> > > > -> Seq Scan on tabla1 (cost=0.00..187024.78 rows=5417878
> > > > width=71) (actual time=16.214..19513.222 rows=5417878 loops=1)
> > > > Total runtime: 28574.382 ms
> > > > (3 rows)
> > >
> > > El problema de count(*) se ha discutido muchas veces. La respuesta es
> > > que la unica manera de hacer count(*) es recorrer la tabla completa.
> > > Si te sirve una estimacion en lugar de una cantidad exacta-exacta, se
> > > pueden buscar maneras mas rapidas de encontrar el total.
> > >
> > > El fichero de configuracion es bastante irrelevante.
> > >
> > > En resumen, lo que muestras arriba es correcto y esperable.
> >
> > Que el fichero sea irrelevante significa ?
>
> Significa que para el caso de
> SELECT count(*) from tabla_grande
> no tiene mayor injerencia el fichero. En otros casos sí la tiene.
>
> > Lo pase para para que ver si algunos de ustedes con la experiencia que
> > tienen podian detectar que la combinacion de parametros estuviesen dando
> > algun error de performance ...
>
> Claro. En este caso no es ese el problema.
>
> > pero si dices que las consultas como estas se comportan de
> > esta forma ... te entiendo...
>
> Probé acá con una tabla de ejemplo y tengo un resultado muy similar:
>
> alvherre=# explain analyze select count(*) from yasset;
> QUERY PLAN
> ---------------------------------------------------------------------------
>------------------------------------------------- Aggregate
> (cost=139424.75..139424.76 rows=1 width=0) (actual
> time=24768.338..24768.340 rows=1 loops=1) -> Seq Scan on yasset
> (cost=0.00..126924.60 rows=5000060 width=0) (actual time=12.369..15572.997
> rows=5000000 loops=1) Total runtime: 24768.419 ms
> (3 rows)
>
> (RAID1 de 2 discos SATA, creo que de 7200RPM)
>
> Como te decía, si una cantidad aproximada es suficiente para tus
> propósitos, se puede obtener muy rápido.
De que forma puedo obtener ese estimado que dices tan rapido...

--
Ing. Yasset Pérez Riverol.
Grupo de Bioinformática.
CIGB, La Habana, Cuba.

-------------------------

"La alegría está en la lucha, en el esfuerzo,
en el sufrimiento que supone la lucha y no
en la victoria."
Mahatma Gandhi

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Andres A. Mamani 2008-02-12 14:37:32 Ayuda con tuning PostgreSQL 8.3
Previous Message Rodriguez Fernando 2008-02-12 14:29:44 Re: Performance y Postgresql.conf