这篇详细列举了在 SQL HINT 中可以使用 set_var 进行指定的变量列表。
相关产品
TDSQL-C MySQL 版 产品页,含版本规格、价格与购买入口。
一、Runtime Filter 相关
| 系统变量 |
含义 |
参数类型 |
默认值 |
取值范围 |
作用域 |
支持 SET_VAR Hint |
| libra_enable_runtime_filter |
是否打开 Runtime Filter。 |
BOOL |
ON |
ON:打开 Runtime FilterOFF:关闭 Runtime Filter |
Global & Session |
是 |
| libra_runtime_filter_type |
设置可以分配的 Runtime Filter 类型。 |
VARCHAR |
MIN_MAX,BLOOM_FILTER,IN_FILTER |
BLOOM_FILTER:构建 JOIN BUILD 端 JOIN KEY 的 Bloom Filter 来进行 Probe 端的数据过滤。MIN_MAX:构建 JOIN BUILD 端 JOIN KEY 的最大最小值来进行 Probe 端的数据过滤。IN:构建 JOIN BUILD 端 JOIN KEY 的值列表来进行 Probe 端的数据过滤。空字符串:表示关闭 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 – MaxValue |
Global & Session |
是 |
| runtime_filter_wait_time_ms |
表示在 RF USE 侧首次等待 RF Ready 的最大时间,0表示无限等待直到超时或中断 Query 执行。 |
INT |
100 |
[0,MaxValue) |
Global & Session |
是 |
二、Late materialization 相关
| 系统变量 |
含义 |
参数类型 |
默认值 |
取值范围 |
作用域 |
支持 SET_VAR Hint |
| libra_enable_late_materialization |
是否打开延时物化。 |
BOOL |
OFF |
ON:打开延时物化OFF:关闭延时物化 |
Global & Session |
是 |
三、并行&并发相关
| 系统变量 |
含义 |
参数类型 |
默认值 |
取值范围 |
作用域 |
支持 SET_VAR Hint |
| max_threads |
查询在执行时的并行度。 |
INT |
节点的 CPU 核数 |
0 – MaxValue(建议不超过 CPU 核数的两倍) |
Global & Session |
是 |
四、执行引擎相关
| 系统变量 |
含义 |
参数类型 |
默认值 |
取值范围 |
作用域 |
支持 SET_VAR Hint |
| max_bytes_before_external_agg_uniq_exact |
count distinct 使用计算函数 uniqExactDisk 的时候,hashset 超过这个限制值时开始切外存,默认为0,不做外存计算。 |
INT |
0 |
[0,MaxValue) |
Global & Session |
是 |
| one_bucket_max_temp_file_size |
count distinct 使用计算函数 uniqExactDisk 的时候,每个 bucket 落盘文件最大值,超过这个值需要切换新的文件写入。 |
INT |
0 |
[0,MaxValue) |
Global & Session |
是 |
| count_distinct_implementation |
count distinct 计算使用函数的名称,默认使用 uniqExactDisk。 |
VARCHAR |
uniqExactDisk |
uniqExactDisk:带落盘功能的精准 CountDistinct 计算方法。uniq:CountDistinct 近似计算方法。uniqExact:纯内存的精准 CountDistinct 计算方法。 |
– |
是 |
| join_build_concurrency |
指定用于 Join Build 所使用的并行度,默认为0,代表使用 Default 或者指定 MaxThreads。 |
INT |
0 |
[0,MaxValue) |
Global & Session |
是 |
| enable_local_tunnel |
支持本机的 Sender 和 Receiver 的通信优化。 |
BOOL |
ON |
ON:开启 Local Channel 本机通信优化。OFF:关闭 Local Channel 本机通信优化。 |
Global & Session |
是 |
| mpp_max_packet_size |
Sender 发送的数据包最大大小,0代表未限制。 |
INT |
0 |
[0,MaxValue) |
Global & Session |
是 |
| tunnel_buffer_size |
Sender 端缓冲发送队列 BUFFER 的数量,默认为1。 |
INT |
1 |
[0,MaxValue) |
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,MaxValue) |
Global & Session |
是 |
| shuffle_after_join |
设置 join 后是否将数据打散到多个 Pipeline。 |
BOOL |
ON |
ON:开启打散功能。OFF:关闭打散功能。 |
Global & Session |
是 |