南大通用GBase 8a性能优化案例,大量小表join时拉了复制表导致只有1个节点运行,gcluster_hash_redistribute_join_optimize 参数调整

在某个项目里,有接近20个表参与left join,但每个的数据量都超过6万行。在运行中,发现最耗时的阶段只有1个节点在运行,且产生了大量的临时中间文件。查看执行日志确认所有数据表都别拉成了复制表,最后在1个节点上运行。通过调整gcluster_hash_redistribute_join_optimize参数,强行将主表,虽然数据量也不多,拉成分布表,性能有1倍以上的提升。