计算层变量

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 TRUE [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] 是否开启广播表随机读优化

results matching ""

    No results matching ""