首页 > 解决方案 > greenplum 进行全盘扫描有什么优势?

问题描述

正如我们所知,GPDB 通过给定的散列键将数据库项目分配到几个段中。我确信它会为条件查询提供更好的性能,特别是对于那些具有给定分布式键/字段的查询,因为它可以大大减少扫描范围。

但是全盘扫描呢?例如,select count(distinct aField) from table, 或select aField, count(distinct bField) from table group by aField, ... 等等 - 无条件查询。

所以所有的segment都被全扫描,查询结果会通过网络发送给master进行聚合。我们能从这样的案例中得到什么好处?

标签: greenplum

解决方案


Greenplum 非常快速地处理顺序扫描,并且由于您的数据分布在各个段中,这意味着小块数据正在由多个段并行扫描。

更不用说您可以使用正确的“行/列”方向方法来组织数据,这可能会导致要扫描的数据更小。

此外,如果您谈论的是海量数据,您可能会使用分区表,这意味着更快的结果。


推荐阅读