试验功能
所有文档

          数据仓库 Palo

          试验功能

          本文档主要介绍 Palo 的部分试验性质的功能。

          这些试验功能默认都处于关闭状态,在功能成熟后会在之后的版本升级中默认开放。

          Join Reorder

          在数据分析领域,SQL 查询优化器能够显著提高用户提交 SQL 的执行效率。而其中很重要的一部分就是对 SQL 中表的 Join 顺序的自动调整。Join 顺序的不同可能会导致 SQL 的执行效率有着天壤之别。

          在新版本中,用户可以通过以下 会话变量 开启新的 Join Reorder 算法逻辑。该算法会尝试避免 Cross Join 的出现,并根据代价模型来优化 Join 的顺序。

          set enable_cost_based_join_reorder = true;

          当执行复杂 Join 操作时,可以尝试开启这个功能,看是否可以提升执行效率。

          常量表达式折叠

          Palo 的查询优化器会对 SQL 中的部分常量表达式进行折叠(即直接计算出常量值后替换原 SQL 中的常量表达式)。如

          select * from tbl where k1 = 1+2;
          ==>
          select * from tbl where k1 = 3;

          但受限于 Compute Node(FE)端的计算能力,部分复杂的常量表达是无法计算,而未经折叠的常量表达是可能会影响如分区裁剪、谓词下推等优化功能。

          在新版本中,用户可以通过开启以下 会话变量,利用 Compute Node(BE)的完整表达式计算能力进行常量表达式计算:

          set enable_fold_constant_by_be = true;

          注意,开启这个功能会导致一些额外的 RPC 开销。在高并发查询场景,需观察对集群整体的影响。

          上一篇
          时区
          下一篇
          集群操作