GBase 8a MPP性能优化案例

sql特征:

Sql中含有3个with子查询,1个主查询,共涉及3张表,其中2张事实表(tbl_awaste_gbase,简称a表、tbl_bwaste_gbase,简称b表)和1张维度表(dim_sm_section,简称d表)。a表和b表的关联条件有两个,分别涉及两个列b.gantryid=a.gantryid、b.vlp=a.identifyvlp。a表和d表有关联,a.gantryid=d.gantry_id。

优化步骤一:修改表结构

原表结构中将3个表均建成hash分布,hash列均为gantryid,但关联条件中涉及两个列,所以需要将事实表的hash列改为关联列,a表的hash列为’gantryid’,’identifyvlp’,b表的hash列为’gantryid’,’vlp’,d表建为复制表。

优化步骤二:分析trace查看性能异常的步骤

打开trace后发现,gnode在物化的时候是串行的,所以需要将并行的行数阈值参数调小,使得物化并行,参数设置set gbase_parallel_threshold=100;

根据cpu资源使用情况,合理调整gbase_parallel_degree值,避免发生资源争抢,本文涉及的环境是6实例,96核,所以将 gbase_parallel_degree设置为20;

因为涉及的join比较简单,所以将gcluster_join_estimate_count_optimize=1

原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/317839.html

(0)
上一篇 1天前
下一篇 1天前

相关推荐

发表回复

登录后才能评论