GBase 8a
性能调优
文章

两张大表关联性能提升

发表于2025-04-25 14:08:3466次浏览0个评论

select t0.msisdn, t0.cell id, t1.cell_name, t1.grid_id,
t1.grid name from hubds.T1 minute t0, hwbds.T2 t1 where t0.msisdn ='18291912011'
and t0.stat_date = to_char(CURRENT_DATE-1,'yyyymmdd') and t0.cell_id= t1.cell_id order by end_time desc limit 1;


其中T1表数据量22亿,hash分布列为限制条件列msisdn。T2表数据量30万,复制表。执行耗时4秒,客户想提升查询性能。

执行计划一步下发,如下图所示:

从表结构和执行计划上,已经没有优化空间。

单机层执行计划看,已经利用上了hash分布和智能索引,时间消耗在大表的scan扫描部分。

因此考虑通过提升计算并发度,优化SQL。

将gbase_parallel_degree由8调高到16,SQL执行性能由4秒提升到2秒。

将gbase_parallel_degree由8调高到32,SQL执行性能由4秒提升到1秒。

评论

登录后才可以发表评论