在列式存储中,所有分析查询都将比行存储快。 如果要包含在查询中的记录使用条件进行筛选,该怎么办?
select sum(A.a) from A where A.b > 100 and A.c <= 10;
单独存储列时,列式存储如何管理筛选。此外,它如何跨各种表应用联接。
cstore_fdw对每个列块使用块范围筛选器。在读取列数据之前,它首先检查数据范围是否与筛选器兼容。因此,如果沿筛选列的数据分布有助于删除数据块,则您将获得显著的性能提升。
关于联接,cstore_fdw不执行任何操作。它组成数据行并将其转发到 postgres 引擎进行进一步处理。进一步处理可能是聚合、窗口函数处理或联接操作等。