草庐IT

HashJoin

全部标签

数仓的等待视图中,为什么会有Hashjoin-nestloop

本文分享自华为云社区《GaussDB(DWS)等待视图之Hashjoin-nestloop》,作者:Arrow0lf。1.业务场景众所周知,GaussDB(DWS)中有3种常见的join方式:HashJon/MergeJoin/NestLoop但在有一些场景中,等待视图中等待状态会显示为:HashJoin-nestloop,如下图所示。这种表示什么含义?2.基本原理为了明白该状态的原因,首先思考如下场景:当业务侧两张大表join时,如果由于未做analyze或统计信息不准,导致buildhash的一侧选择了大表,且该表在join列上重复值很多,会导致hashjoin时内存膨胀,当内存不足时,h

HashJoin 在 Apache Arrow 和PostgreSQL 中的实现

文章目录背景PostgreSQLHashJoin实现PG执行器架构HashJoin基本流程HashJoin实现细节Join类型HashJoin的划分阶段HashJoin的分批处理阶段JOIN类型的状态机转换HashJoin的投影和过滤ArrowAceroHashJoin实现Acero基本框架HashJoin基本流程总结背景近两个月转到了计算引擎领域,为公司开发兼容PG的新的向量化计算引擎,所以一直处于高强度的学习以及开发过程,也没有来得及做一些总结.之前的背景都是存储,包括NoSQL存储(Rocksdb/FoundationDB)以及做了一年半的数据库内核存储(PostgreSQL),这个过程