更新时间:2024-04-22 GMT+08:00
分享

调整CTE(公用表表达式)配置

操作场景

如果查询中包含的表或公用表表达式(CTE)出现多次且具有相同的投影和过滤器,则可以配置打开CTE Reuse功能来将数据缓存在内存中,可以避免多次从磁盘读取数据,减少执行查询所需的时间。

操作步骤

  1. 登录FusionInsight Manager页面。
  2. 选择“集群 > 服务 > HetuEngine > 配置 > 全部配置”,参考表1配置相关参数。

    表1 CTE配置参数

    参数名称

    参数解释

    建议值

    默认值

    参数文件

    optimizer.reuse-table-scan

    是否启用cte的表数据重用功能

    true

    false

    coordinator.config.properties、worker.config.properties

    experimental.spill-reuse-tablescan

    是否启用重用tablescan时尝试将内存溢出到磁盘功能

    true

    false

    coordinator.config.properties、worker.config.properties

    optimizer.cte-reuse-enabled

    是否启动cte重用的功能,启用此标志后,无论主查询中使用同一CTE多少次,都仅执行一次公用表表达式(CTE)

    true

    false

    coordinator.config.properties、worker.config.properties

    dynamic-filtering-max-per-driver-size

    动态过滤开始时每个driver可以收集的最大数据量

    100MB

    1MB

    coordinator.config.properties、worker.config.properties

  3. 单击“保存”,保存配置。
  4. 选择“集群 > 服务 > HetuEngine > 更多 > 重启服务”,输入密码后重启HetuEngine服务让参数生效。
  5. 若存在运行中的计算实例需重启HetuEngine计算实例。

    1. 使用HetuEngine管理员用户登录Manager,选择“集群 > 服务 > HetuEngine”,进入HetuEngine服务页面。
    2. 在“概览”页签下的“基本信息”区域,单击“HSConsole WebUI”后的链接,进入HSConsole界面。
    3. 单击“计算实例”,勾选待操作实例,单击“重启”根据界面提示重启HetuEngine计算实例。

分享:

    相关文档

    相关产品