TDSQL Boundless 系统变量

这篇详细列举了在 SQL HINT 中可以使用 set_var 进行指定的系统变量列表。

相关产品
TDSQL Boundless 产品页,含版本规格、价格与购买入口。

一、Runtime Filter 相关

系统变量 含义 参数类型 默认值 取值范围 作用域 支持 SET_VAR Hint
libra_enable_runtime_filter 是否打开 Runtime Filter。 BOOL ON ON:打开 Runtime Filter;OFF:关闭 Runtime Filter。 Global & Session 是
libra_runtime_filter_type 设置可以分配的 Runtime Filter 类型。 VARCHAR MIN_MAX,BLOOM_FILTER,IN_FILTER,TOPN_FILTER BLOOM_FILTER:构建 JOIN BUILD 端 JOIN KEY 的 Bloom Filter 来进行 Probe 端的数据过滤;MIN_MAX:构建 JOIN BUILD 端 JOIN KEY 的最大最小值来进行 Probe 端的数据过滤;IN_FILTER:构建 JOIN BUILD 端 JOIN KEY 的值列表来进行 Probe 端的数据过滤;TOPN_FILTER:基于 TopN 的 Runtime Filter;空字符串:表示关闭 Runtime Filter 功能。 Global & Session 是
libra_enable_cost_based_runtime_filter 开启或关闭基于代价的 Runtime Filter。 BOOL ON ON:开启基于代价的 Runtime Filter 分配;OFF:关闭基于代价的 Runtime Filter 分配。 Global & Session 是
libra_max_in_runtime_filter_ndv 在基于代价的 Runtime Filter 中,生成 IN 类型的 Runtime Filter 时,BUILD 端最大的 NDV(Number of Distinct Values)值。 INT 1024 [0, MaxInt64] Global & Session 是
runtime_filter_wait_time_ms 在 RF USE 侧首次等待 RF Ready 的最大时间。 INT 100 任意整数 Global & Session 是

注意:说明:

注意:runtime_filter_wait_time_ms 取负值时表示无限等待,直到查询超时或被中断。

二、Late Materialization 相关

系统变量 含义 参数类型 默认值 取值范围 作用域 支持 SET_VAR Hint
libra_enable_late_materialization 是否打开延时物化。 BOOL ON ON:打开延时物化;OFF:关闭延时物化。 Global & Session 是

三、并行和并发相关

系统变量 含义 参数类型 默认值 取值范围 作用域 支持 SET_VAR Hint
max_threads 查询在执行时的并行度。 INT 0 0 – MaxInt64(建议不超过 CPU 核数的两倍) Global & Session 是

注意:说明:

注意:max_threads 取值为 0 时表示由系统根据节点的 CPU 核数自动决定并行度。

四、执行引擎相关

系统变量 含义 参数类型 默认值 取值范围 作用域 支持 SET_VAR Hint
max_bytes_before_external_agg_uniq_exact count distinct 使用计算函数 uniqExact 时,HashSet 超过该限制值时开始切外存。默认值为0,不做外存计算。 INT 0 [0, MaxInt64] Global & Session 是
agg_uniq_exact_set_one_bucket_max_temp_file_size count distinct 使用计算函数 uniqExact 时,每个 bucket 落盘文件最大值,超过该值需要切换新的文件写入。 INT 68719476736 [0, MaxInt64] Global & Session 是
count_distinct_implementation count distinct 计算使用的函数名称。 VARCHAR uniqExact uniqExact:纯内存的精准 CountDistinct 计算方法;uniqExactDisk:带落盘功能的精准 CountDistinct 计算方法;uniq:CountDistinct 近似计算方法 Global & Session 是
join_build_concurrency 指定用于 Join Build 所使用的并行度。默认值为0,表示使用 Default 或者指定 MaxThreads。 INT 0 [0, MaxInt64] Global & Session 是
enable_local_tunnel 是否支持本机的 Sender 和 Receiver 的通信优化。 BOOL ON ON:开启 Local Channel 本机通信优化;OFF:关闭 Local Channel 本机通信优化 Global & Session 是
mpp_max_packet_size Sender 发送的数据包最大大小。 INT 0 [0, MaxInt64],0代表未限制 Global & Session 是
tunnel_buffer_size Sender 端缓冲发送队列 BUFFER 的数量。 INT 1 [0, MaxInt64] Global & Session 是
pipeline_executor_use_thread_manager Pipeline 模型是否使用动态线程池模型。 BOOL OFF ON:开启 Pipeline 模型使用动态线程池;OFF:关闭 Pipeline 模型使用动态线程池 Global & Session 是
enable_order_by_push_down 开启或关闭 order by 下推功能。 BOOL ON ON:开启 order by 下推功能;OFF:关闭 order by 下推功能 Global & Session 是
max_block_size 设置 Pipeline 执行引擎中所传递数据 Block 的行数。 INT 65409 [1, MaxInt64] Global & Session 是
shuffle_after_join 设置 Join 后是否将数据打散到多个 Pipeline。 BOOL OFF ON:开启打散功能;OFF:关闭打散功能 Global & Session 是

五、使用示例

通过 SQL HINT 中的 SET_VAR 在单条查询中临时调整系统变量,示例如下:

SELECT /*+ SET_VAR(libra_enable_runtime_filter = ON) SET_VAR(max_threads = 8) */ a.id, b.nameFROM table_a a JOIN table_b b ON a.id = b.id;

赞 (0)
上一篇 4天前
下一篇 4天前