Re: Can somebody explain what is the meaning for HashAggregate?
От | Bill Moran |
---|---|
Тема | Re: Can somebody explain what is the meaning for HashAggregate? |
Дата | |
Msg-id | 20150920102707.449cf1c3957d274ff4b3e5c1@potentialtech.com обсуждение исходный текст |
Ответ на | Can somebody explain what is the meaning for HashAggregate? (lin <jluwln@163.com>) |
Список | pgsql-general |
On Sun, 20 Sep 2015 21:56:39 +0800 (CST) lin <jluwln@163.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
В списке pgsql-general по дате отправления: