半连接(Semi-Join)支持五种策略,分别是Materialize Lookup、Materialize Scan、Firstmatch、Weedout 和Loose Scan。对于这五种策略,PolarDB 都支持并行。
其中,Materialize Lookup 和Materialize Scan 有两种并行方式,一种是将半连接下推到Worker 上去并行执行,每个Worker 负责部分数据和物化表的半连接;另一种是物化并行提前下推到Worker 执行,半连接时共享物化表。
PolarDB 优化器会根据查询情况,选择最优的并行方式。其余三种策略只有一种并行方式,即半连接下推到Worker,每个Worker 会将连接后的结果集返回给Leader 线程,Leader 线程通过聚集操作进行汇总,最后将结果返回给客户端。
以上内容摘自《云原生数据库原理与实践》,这本书可以在电子工业出版社天猫店购买。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。