GBase 8a
其他
文章

参数gcluster_union_optimize含义

发表于2024-12-30 18:51:1827次浏览0个评论

参数名称:gcluster_union_optimize

参数含义:GBase南大通用数据库gcluster层gcluster_union_optimize参数用于设置是否使用union 优化。使用union 优化时,union 优化尽量把union 语句发送到节点执行,避免把所有需要union 的表都拉成复制表。即利用union 的结果集去重的特性,直接将union 发送到下层去执行。这样在某些情况下,可以大大减小汇总结点的中间结果集的大小。

作用范围:全局变量

参数取值范围:

参数=0:不使用union 优化;

参数=1:使用union 优化

默认值:默认值为:1,使用union 优化。

推荐值:使用默认的1。

参数设置方法及效果演示:

GBase南大通用数据库gcluster层参数gcluster_union_optimize是全局级参数(默认为1,使用union 优化),可以使用如下配置方式开启或关闭设置是否开使用union 优化。

set global gcluster_union_optimize =0;
或
set gcluster_union_optimize =1;

示例:

gbase> set global gcluster_union_optimize =0;
Query OK, 0 rows affected (Elapsed: 00:00:00.02)
gbase> show variables like ' gcluster_union_optimize ';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| gcluster_union_optimize e | 0     |
+------------------------+-------+
1 row in set (Elapsed: 00:00:00.00)

测试SQL句如下:

select a.p_name,a.p_mfgr from part a
union all
select b.s_name,b.s_address from supplier b 
union all
select c.c_name,c.c_address from customer c
union all
select d.d_date,d.d_dayofweek from dwdate d

测试结果:

分别在参数=0和参数=1时执行该sql,执行结果如下表所示:

 

参数值执行响应时间
01秒
11秒

经多次测试未发现明显差异,可能是和节点数和sql有关,建议该参数值使用默认的1,这样可以尽量使用并行。

评论已关闭