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

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

南大通用GBase 8a数据库集群性能优化之保留执行中间表数据参数gcluster_executor_debug

南大通用GBase 8a数据库集群,在执行SQL时会将任务下发到计算节点,有时为了汇总方便,需要使用一些临时中间表做二次计算,在执行完毕后这些临时表会被自动删除。如果对执行过程或操作有怀疑,可以打开gcluster_executor_debug参数,包括中间临时表,以便调试。