Re: Problema Order By en PosgreSQL 8.1

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Paolo Lopez <murphyperu(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Problema Order By en PosgreSQL 8.1
Date: 2006-04-07 20:01:46
Message-ID: 20060407200146.GB11303@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-es-ayuda

Paolo Lopez escribió:

> Mando los reultados que a mi me estan saliendo:

Ok, claramente esta malo.

> EXPLAIN ANALYZE , antes del vacuum analyze:
>
> Index Scan using tablita_pkey on tablita (cost=0.00..5.83 rows=1
> width=8) (actual time=0.044..0.179 rows=40 loops=1)
> Index Cond: ((campoa = 1) AND (campob = 1) AND (campoc = 1) AND
> (campod = 1) AND (campoe = 1))
> Total runtime: 0.303 ms

Observa que aca esta siguiendo el indice de la llave primaria.
Obviamente deberia entregar el resultado en el mismo orden que tu lo
pediste.

> Sort (cost=2.96..3.06 rows=40 width=8) (actual time=0.326..0.363
> rows=40 loops=1)
> Sort Key: iddia, numhora
> -> Seq Scan on tablita (cost=0.00..1.90 rows=40 width=8) (actual
> time=0.026..0.179 rows=40 loops=1)
> Filter: ((campoa = 1) AND (campob = 1) AND (campoc = 1) AND
> (campod = 1) AND (campoe = 1))

Aca no usa el indice sino que la tabla directamente, y despues ordena el
resultado.

Creo que a lo que esto apunta es que el indice esta corrupto por uno u
otro motivo.

Por favor prueba lo siguiente: crea la tabla y agrega los resultados,
tal como lo hiciste antes. Ejecuta VACUUM ANALYZE tablita, y despues

SET enable_seqscan TO off;
y prueba nuevamente la consulta. Envia el EXPLAIN ANALYZE, y verifica
si el orden es correcto o no.

Luego: borra el indice. ALTER TABLE tablita DROP PRIMARY KEY. Luego
crealo de nuevo: ALTER TABLE tablita ADD PRIMARY KEY ( ... )
Luego
SET enable_seqscan TO off;
y la consulta otra vez; pega el EXPLAIN ANALYZE e indica si el resultado
es correcto o no.

Me gustaria saber si alguien mas puede reproducir este problema en
Windows.

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

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Alex Concha 2006-04-07 20:27:04 Re: Problema Order By en PosgreSQL 8.1
Previous Message Paolo Lopez 2006-04-07 19:51:46 Re: Problema Order By en PosgreSQL 8.1

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alex Concha 2006-04-07 20:27:04 Re: Problema Order By en PosgreSQL 8.1
Previous Message Paolo Lopez 2006-04-07 19:51:46 Re: Problema Order By en PosgreSQL 8.1