阿里云首页 云原生分布式数据库 PolarDB-X

计算层变量

PolarDB-X是存储计算分离架构,这里主要罗列了常见CN变量(其中部分变量控制台可配置)。

变量名

是否重启

默认值

范围

备注

PLAN_CACHE

TRUE

[TURE|FALSE]

计划缓存的开关

ENABLE_RECYCLEBIN

FALSE

[TURE|FALSE]

开启回收站的开关

SHOW_TABLES_CACHE

FALSE

[TURE|FALSE]

是否对show tables结果做缓存

MERGE_CONCURRENT

FALSE

[TURE|FALSE]

全并行执行开关,主要影响DDL和全下推的简单查询的并行执行度

MERGE_UNION

FALSE

[TURE|FALSE]

默认关闭,打开意味着物理SQL不做union优化,且将串行执行下推的物理SQL

MERGE_UNION_SIZE

-1

[0-10000]

通过union合并物理SQL的数量,默认结合连接池可用连接数自适应推导

TABLE_META_CACHE_EXPIRE_TIME

300

[0-180000]

元数据缓存过期时间

COLUMN_LABEL_INSENSITIVE

TRUE

[FALSE|TRUE]

返回列大小写是否敏感

RECORD_SQL

TRUE

[FALSE|TRUE]

审计日志开关

SOCKET_TIMEOUT

900000

[0~3600000]

物理SQL超时时间

TRANSACTION_POLICY

TSO

[XA|TSO|TSO_READONLY]

事务策略

SHARE_READ_VIEW

FALSE

[TRUE|FALSE]

共享ReadView开关

ENABLE_TRX_SINGLE_SHARD_OPTIMIZATION

TRUE

[TRUE|FALSE]

事务单分片优化开关

GET_TSO_TIMEOUT

10

[1-1800]

获取TSO时间戳超时时间

MAX_TRX_DURATION

28800

[1-180000]

事务物理超时时间

TRANSACTION_ISOLATION

REPEATABLE_READ

[READ_UNCOMMITTED|READ_COMMITTED|REPEATABLE_READ|SERIALIZABLE]

事务隔离级别

GROUP_CONCURRENT_BLOCK

TRUE

[TRUE|FALSE]

非MPP模式下分库级别执行策略

SEQUENTIAL_CONCURRENT_POLICY

FALSE

[TRUE|FALSE]

非MPP模式下单并发执行策略

DML_SKIP_DUPLICATE_CHECK_FOR_PK

TRUE

[TRUE|FALSE]

DML过程中是否跳过主键的冲突检查

DML_SKIP_CRUCIAL_ERR_CHECK

FALSE

[TRUE|FALSE]

DML过程中是否允许有DML报错的事务继续提交

DML_USE_RETURNING

TRUE

[TRUE|FALSE]

是否使用 returning 优化

BROADCAST_DML

FALSE

[TRUE|FALSE]

是否允许广播表的写入不走分布式事务

SEQUENCE_STEP

10000

[1-10000000]

SEQUENCE步长,默认为10万

MERGE_DDL_TIMEOUT

0

[1-10000000]

DDL物理连接超时时间, 默认是0,不超时

MERGE_DDL_CONCURRENT

FALSE

[FALSE|TRUE]

ddl是否采用全并行模式, 默认库级并发

SLOW_SQL_TIME

1000

[1-180000]

慢SQL阈值

LOAD_DATA_BATCH_INSERT_SIZE

1024

[1-180000]

LOAD DATA 每次batch insert的记录条数

LOAD_DATA_CACHE_BUFFER_SIZE

60

[1-180000]

LOAD DATA 缓存大小, 默认60Mb,主要做流控

MAX_ALLOWED_PACKET

16777216

[4194304-33554432]

最大包大小

KILL_CLOSE_STREAM

FALSE

[FALSE|TRUE]

是否开启物理连接流式早停功能

ALLOW_SIMPLE_SEQUENCE

FALSE

[FALSE|TRUE]

是否允许使用simple sequence

MAX_PARAMETERIZED_SQL_LOG_LENGTH

5000

[1-1000000]

参与参数化SQL日志打印的最大长度

FORBID_EXECUTE_DML_ALL

TRUE

[TRUE|FALSE]

是否禁止全表删除/更新

GROUP_SEQ_CHECK_INTERVAL

60

[1-36000]

检查插入显式值的周期/间隔,单位秒

JOIN_BLOCK_SIZE

300

[1-100000]

在非动态裁剪下BKAJOIN执行时的IN Values个数

LOOKUP_JOIN_MAX_BATCH_SIZE

6400

[1-100000]

BKAJOIN执行时的最大IN Values个数

LOOKUP_JOIN_MIN_BATCH_SIZE

100

[1-100000]

BKAJOIN执行时的最大IN Values个数

PURGE_TRANS_INTERVAL

300

[1-180000]

事务日志清理间隔

PURGE_TRANS_BEFORE

1800

[1-180000]

清理多久之前的事务日志

ENABLE_BACKGROUND_STATISTIC_COLLECTION

TRUE

[TRUE|FALSE]

是否允许统计数据采集

GENERAL_DYNAMIC_SPEED_LIMITATION

-1

[-1-10000000]

数据回填、校验动态限速调整,-1为默认限制

PARALLELISM

-1

[1-1024]

单机并行的并行度,默认是由规格推导出来

LOGICAL_DB_TIME_ZONE

SYSTEM

[SYSTEM|±HH:mm]

数据库时区

MPP_PARALLELISM

-1

[1-1024]

MPP执行模式的并发度,默认是由规格推导出来

DATABASE_PARALLELISM

0

[0-1024]

单个查询在一个DN上允许同时下发SQL的数量,用户计算Scan的并发度

POLARDBX_PARALLELISM

0

[0-1024]

单个查询在一个CN允许的最大并发度, 默认是CPU核数

MPP_METRIC_LEVEL

3

[0|1|2|3]

计算过程中统计信息收集程度,级别越高说明收集粒度越细

ENABLE_COMPLEX_DML_CROSS_DB

TRUE

[TRUE|FALSE]

是否支持跨库复杂DML

PER_QUERY_MEMORY_LIMIT

-1

[-1-9223372036854775807]

查询级内存池大小限制,默认是全局连接池的三分之一

ENABLE_SPILL

FALSE

[FALSE|TRUE]

临时表落盘的开关

CONN_POOL_MIN_POOL_SIZE

20

[0-10]

物理分库链接数最小值

CONN_POOL_MAX_POOL_SIZE

60

[1-1600]

物理分库链接数最大值

CONN_POOL_MAX_WAIT_THREAD_COUNT

0

[-1-8192]

单分库最大等待建连数(DRUID)

CONN_POOL_IDLE_TIMEOUT

30

[1-60]

物理空闲链接超时时间

CONN_POOL_BLOCK_TIMEOUT

5000

[1000-60000]

物理连接池获取连接的最大等待时间

CONN_POOL_XPROTO_MAX_POOLED_SESSION_PER_INST

512

[1-8192]

单个存储节点最大缓存会话数(私有协议)

XPROTO_MAX_DN_CONCURRENT

500

[1-8192]

单个存储节点最大并发请求数(私有协议)

XPROTO_MAX_DN_WAIT_CONNECTION

32

[1-8192]

单个存储节点最大请求等待数(私有协议)

MERGE_SORT_BUFFER_SIZE

2048

[1024-81920]

TableScan层做归并排序使用的缓存大小,默认2Mb

WORKLOAD_TYPE

[AP|TP]

是否指定查询的workload,默认基于代价智能识别负载

EXECUTOR_MODE

[MPP|TP_LOCAL|AP_LOCAL]

是否指定查询的执行模式,默认基于workload选择执行模式

ENABLE_MASTER_MPP

FALSE

[TRUE|FALSE]

是否在主实例上开启MPP能力

LOOKUP_JOIN_BLOCK_SIZE_PER_SHARD

50

[1-100000]

在裁剪下BKAJOIN执行时的单分片约定的IN Values个数

ENABLE_RUNTIME_FILTER

TRUE

[TRUE|FALSE]

Runtime Filter的开关

FEEDBACK_WORKLOAD_AP_THRESHOLD

FALSE

[TRUE|FALSE]

针对AP查询的HTAP FEEDBACK开关

FEEDBACK_WORKLOAD_TP_THRESHOLD

FALSE

[TRUE|FALSE]

针对TP查询的HTAP FEEDBACK开关

MASTER_READ_WEIGHT

-1

[0-100]

基于规则的读写分离权重

SHOW_ALL_PARAMS

FALSE

[TRUE|FALSE]

是否显示SHOW 全部变量

ENABLE_SET_GLOBAL

FALSE

[TRUE|FALSE]

启动SET GLOBAL语句开关

FORCE_READ_OUTSIDE_TX

FALSE

[TRUE|FALSE]

事务内是否在一个分库上强制开启多个连接

ENABLE_COROUTINE

FALSE

[TRUE|FALSE]

是否开启wisp协程

TRUNCATE_TABLE_WITH_GSI

FALSE

[TRUE|FALSE]

是否允许truncate包含gsi的表

DDL_ON_GSI

FALSE

[TRUE|FALSE]

是否允许直接在GSI表做DDL

DML_ON_GSI

FALSE

[TRUE|FALSE]

是否允许直接在GSI表做DML

ENABLE_HASH_JOIN

TRUE

[TRUE|FALSE]

优化查询计划过程中是否与允许HashJoin节点的生成

ENABLE_BKA_JOIN

TRUE

[TRUE|FALSE]

优化查询计划过程中是否允许BKAJoin节点生成

ENABLE_NL_JOIN

TRUE

[TRUE|FALSE]

优化查询计划过程中是否允许NLJoin节点生成

ENABLE_SEMI_NL_JOIN

TRUE

[TRUE|FALSE]

优化查询计划过程中是否允许将SemiJoin转成NLJoin来实现

ENABLE_SEMI_HASH_JOIN

TRUE

[TRUE|FALSE]

优化查询计划过程中是否允许将SemiJoin转成HashJoin来实现

ENABLE_SEMI_BKA_JOIN

TRUE

[TRUE|FALSE]

优化查询计划过程中是否允许将SemiJoin转成BKAJoin来实现

ENABLE_SEMI_SORT_MERGE_JOIN

TRUE

[TRUE|FALSE]

优化查询计划过程中是否允许将SemiJoin转成MergeJoin来实现

ENABLE_MATERIALIZED_SEMI_JOIN

TRUE

[TRUE|FALSE]

优化查询计划过程中是否允许将SemiJoin转成MaterializedJoin来实现

ENABLE_SEMI_JOIN_REORDER

TRUE

[TRUE|FALSE]

优化查询计划过程中是否允许将SemiJoin参与CBO Reorder优化

ENABLE_HASH_AGG

TRUE

[TRUE|FALSE]

优化查询计划过程中是否允许生成HashAgg节点生成

ENABLE_PARTIAL_AGG

TRUE

[TRUE|FALSE]

优化查询计划过程中是否允许将Agg拆分成二阶段来实现

ENABLE_SORT_AGG

TRUE

[TRUE|FALSE]

优化查询计划过程中是否允许生成SortAgg节点生成

ENABLE_PUSH_PROJECT

TRUE

[TRUE|FALSE]

优化查询计划过程中是否允许Project PushDown

ENABLE_PUSH_JOIN

TRUE

[TRUE|FALSE]

优化查询计划过程中是否允许Join PushDown

ENABLE_PUSH_AGG

TRUE

[TRUE|FALSE]

优化查询计划过程中是否允许Agg PushDown

ENABLE_CBO_PUSH_AGG

TRUE

[TRUE|FALSE]

优化查询计划过程中是否允许Agg 透传Join

ENABLE_PUSH_SORT

TRUE

[TRUE|FALSE]

优化查询计划过程中是否允许Sort PushDown

ENABLE_STATISTIC_FEEDBACK

TRUE

[TRUE|FALSE]

是否支持统计信息修正的Feedback

ENABLE_CBO_PUSH_JOIN

TRUE

[TRUE|FALSE]

优化查询计划过程中是否允许Join 透传优化

ENABLE_SORT_JOIN_TRANSPOSE

TRUE

[TRUE|FALSE]

优化查询计划过程中是否允许Sort 透传Join

CHUNK_SIZE

1024

[1-10240]

设置执行器每次计算的批次大小

ENABLE_SORT_MERGE_JOIN

TRUE

[TRUE|FALSE]

优化查询计划过程中是否禁止MergeJoin节点生成

ENABLE_BKA_PRUNING

TRUE

[TRUE|FALSE]

是否开启BKAJoin的裁剪功能

ENABLE_SPM

TRUE

[TRUE|FALSE]

是否开启执行计划管理

ENABLE_EXPRESSION_VECTORIZATION

TRUE

[TRUE|FALSE]

是否开启表达式的向量化计算

FORCE_DDL_ON_LEGACY_ENGINE

TRUE

[TRUE|FALSE]

是否启用新DDL引擎

PURE_ASYNC_DDL_MODE

FALSE

[TRUE|FALSE]

是否以非阻塞的形式执行ddl任务,开启意味着客户端执行ddl后立即返回,通过show [full] ddl查看执行的情况

DDL_JOB_REQUEST_TIMEOUT

90000

[1-9223372036854775807]

设置DDL执行的最大超时时间,默认是25天

LOGICAL_DDL_PARALLELISM

1

[1-10240]

配置逻辑DDL执行的并发度,设置为1意味着是串行执行DDL任务

ENABLE_BROADCAST_RANDOM_READ

TRUE

[TRUE|FALSE]

是否开启广播表随机读优化