Re: Can somebody explain what is the meaning for HashAggregate?

From: Bill Moran <wmoran(at)potentialtech(dot)com>
To: lin <jluwln(at)163(dot)com>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Can somebody explain what is the meaning for HashAggregate?
Date: 2015-09-20 14:27:07
Message-ID: 20150920102707.449cf1c3957d274ff4b3e5c1@potentialtech.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sun, 20 Sep 2015 21:56:39 +0800 (CST)
lin <jluwln(at)163(dot)com> wrote:

> 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?

It combines the values for oid and relname for each returned row, generates a hashkey
for them, then uses that hashkey to aggregate (compute the GROUP BY, essentially, in
this case)

--
Bill Moran

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Melvin Davidson 2015-09-20 15:05:03 Re: clone_schema function
Previous Message lin 2015-09-20 13:56:39 Can somebody explain what is the meaning for HashAggregate?