VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

支持并行哈希连接

功能描述

支持并行哈希连接是利用多核CPU的并行处理,将一个生成哈希连接的执行计划由多个Worker执行。一个表连接语句规划器会生成哈希连接计划,并行哈希连接功能是执行器在执行时,将哈希连接的操作由多个Worker并行执行完成。

参数说明

  • enable_nestloop:嵌套循环查询开关。

示例

创建三张表

create table t1(a int,b int,c int,d bigint);
create table t2(a int,b int);
create table t3(a int,b int,c int);

插入数据

insert into t1 values 
(generate_series(1,100),generate_series(1,10),generate_series(1,2),generate_series(1,50));
insert into t2 values(generate_series(1,100),generate_series(1,30));
insert into t3 values(generate_series(1,50),generate_series(1,100),generate_series(1,10));
analyze t1;
analyze t2;
analyze t3;

设置算子并行度和连接开关:

set query_drop=2;
set enable_nestloop=on;
set enable_hashjoin=on;

打印并行哈希连接查询计划

explain (costs off) select t1.a,t2.b,t3.c from t1,t2,t3 where t1.a=t2.a and t1.b=t3.c order by 1,2,3;