更新时间:2022-12-14 GMT+08:00
调整CTE(公用表表达式)配置
操作场景
如果查询中包含的表或公用表表达式(CTE)出现多次且具有相同的投影和过滤器,则可以配置打开CTE Reuse功能来将数据缓存在内存中,可以避免多次从磁盘读取数据,减少执行查询所需的时间。
操作步骤
- 登录FusionInsight Manager页面。
- 选择“集群 > 服务 > 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
- 单击“保存”,保存配置。
- 选择“集群 > 服务 > HetuEngine > 更多 > 重启服务”,输入密码后重启HetuEngine服务让参数生效。
父主题: HetuEngine性能调优