Can somebody explain what does the postgres done for the explain of sql shows HashAggregate( what is the meaning for HashAggregate )?
for example:
postgres=# explain verbose select oid,relname from pg_class group by oid,relname;
QUERY PLAN
-----------------------------------------------------------------------------
HashAggregate (cost=12.42..15.38 rows=295 width=68)
Output: oid, relname
Group Key: pg_class.oid, pg_class.relname
-> Seq Scan on pg_catalog.pg_class (cost=0.00..10.95 rows=295 width=68)
Output: oid, relname
(5 rows)
:: first, seq scan pg_class and return (oid,relname);
second, make group (oid,relname), is it fisrt sort by oid then in the oid group sort by relname?
Can somebody explain what does the database done for hashAggregate?
Thanks,
wanglin