首页 > 解决方案 > cstore 列式存储中的条件匹配

问题描述

在列存储中,所有分析查询都将比行存储更快。如果要包含在查询中的记录使用条件过滤怎么办?

select sum(A.a) from A where A.b > 100 and A.c <= 10;

当列单独存储时,列存储如何管理过滤。还有它如何在各种表中应用连接。

标签: columnstorecstore-fdw

解决方案


cstore_fdw 对每个列块使用块范围过滤器。在读取列数据之前,它首先检查数据范围与过滤器是否兼容。因此,如果您沿过滤列的数据分布有助于删除数据块,那么您将获得显着的性能提升。

关于连接,cstore_fdw 不执行任何操作。它组合数据行并将其转发到 postgres 引擎以进行进一步处理。进一步的处理可能是聚合、窗口函数处理或连接操作。


推荐阅读