2008/8/19 Simon Riggs <[EMAIL PROTECTED]>: > > On Tue, 2008-08-19 at 09:45 +0200, Pavel Stehule wrote: > >> postgres=# explain select sum(a) from twocol group by b; >> QUERY PLAN >> ---------------------------------------------------------------- >> HashAggregate (cost=42.10..44.60 rows=200 width=8) --< wrong should be 4 >> -> Seq Scan on twocol (cost=0.00..31.40 rows=2140 width=8) >> (2 rows) > > Although column b is not displayed it is kept in the HashAgg node to > allow your request to GROUP BY B. I'm happy that it tells me the width > of 8 so I can work out space used by hash, but perhaps it should say 12 > (or even 16) to include hash value also, so we include the full cost per > row in the hash table. > > If you do > explain select sum(a) from twocol > you will see the width is only 4
yes, Agg get this value directly, but it wrong postgres=# explain select * from (select sum(a) from twocol group by b offset 0) c; QUERY PLAN ---------------------------------------------------------------------------- Subquery Scan c (cost=42.10..46.60 rows=200 width=8) -> Limit (cost=42.10..44.60 rows=200 width=8) -> HashAggregate (cost=42.10..44.60 rows=200 width=8) -> Seq Scan on twocol (cost=0.00..31.40 rows=2140 width=8) (4 rows) limit, subquery scan has wrong width now. regards Pavel > > -- > Simon Riggs www.2ndQuadrant.com > PostgreSQL Training, Services and Support > > -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers