Re: [HACKERS] PoC: Grouped base relation
От | Pantelis Theodosiou |
---|---|
Тема | Re: [HACKERS] PoC: Grouped base relation |
Дата | |
Msg-id | CAE3TBxzsRNVwRwwfmS5j4RD1QDodu1qJqdR6e4bAZwwEaF35Sg@mail.gmail.com обсуждение исходный текст |
Ответ на | [HACKERS] PoC: Grouped base relation (Antonin Houska <ah@cybertec.at>) |
Ответы |
Re: [HACKERS] PoC: Grouped base relation
|
Список | pgsql-hackers |
On Mon, Jan 9, 2017 at 5:56 PM, Antonin Houska <ah@cybertec.at> wrote:
and "b"
j
---
1
2
Attached is a draft patch that lets partial aggregation happen at base
relation level. If the relations contain relatively small number of groups,
the number of input rows of the aggregation at the query level can be reduced
this way. Also, if append relation and postgres_fdw planning is enhanced
accordingly, patch like this can let us aggregate individual tables on remote
servers (e.g. shard nodes) and thus reduce the amount of rows subject to the
final aggregation.
For example, consider query
SELECT b.j, sum(a.x) FROM a, b WHERE a.i = b.j GROUP BY b.j;
and tables "a"
i | x
-------
1 | 3
1 | 4
and "b"
j
---
1
1
The example should have j= 1,2 , right?
and "b"
j
---
1
2
The base relations grouped look like
i | sum(a.x)| count(*)
-----------------------
1 | 7 | 2
Otherwise, the sum and count would be 14 and 4.
and
j | count(*)
-------------
1 | 2
Pantelis
В списке pgsql-hackers по дате отправления: