系统变量

最近更新时间:2026-06-30 16:45:30

我的收藏
本文详细列举了在 SQL HINT 中可以使用 set_var 进行指定的系统变量列表。

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.name
FROM table_a a JOIN table_b b ON a.id = b.id;