Re: [HACKERS] PoC: Grouped base relation
От | Pantelis Theodosiou |
---|---|
Тема | Re: [HACKERS] PoC: Grouped base relation |
Дата | |
Msg-id | CAE3TBxxTrxH++SAXcP6to0+zwLWpSh3Qxad0s3w-8Boeump39A@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] PoC: Grouped base relation (Pantelis Theodosiou <ypercube@gmail.com>) |
Список | pgsql-hackers |
On Tue, Jan 10, 2017 at 6:52 PM, Pantelis Theodosiou <ypercube@gmail.com> wrote:
On Mon, Jan 9, 2017 at 5:56 PM, Antonin Houska <ah@cybertec.at> wrote: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
1The 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 | 2Otherwise, the sum and count would be 14 and 4.
and
j | count(*)
-------------
1 | 2
Pantelis
Or perhaps I should be reading more carefully the whole mail before posting. Ignore the previous.
В списке pgsql-hackers по дате отправления: