Reputation: 39
In columnar storage all analytical query will be faster than the row-store. what if the records to be included in a query is filtered with a criteria?
select sum(A.a) from A where A.b > 100 and A.c <= 10;
How does columnar storage manage filtering when columns are stored separately. Also how does it apply join across various tables.
Upvotes: 0
Views: 41
Reputation: 146
cstore_fdw uses block range filters for each column block. It first checks the data range is compatible with the filter before reading column data. Therefore, if your data distribution along the filtered column helps removal of data blocks, then you would get significant performance gains.
Regarding joins, cstore_fdw does not perform any operation. It composes rows of data and forwards that to postgres engine for further processing. Further processing might be anything like aggregation, window function processing or join operation.
Upvotes: 1