PolarDB-X是儲存計算分離架構,這裡主要羅列了常見CN變數(其中部分變數控制台可配置)。
變數名 | 是否重啟 | 預設值 | 範圍 | 備忘 |
PLAN_CACHE | 否 | FALSE | [TRUE|FALSE] | 計畫快取的開關。 |
ENABLE_RECYCLEBIN | 否 | FALSE | [TRUE|FALSE] | 開啟資源回收筒的開關。 |
SHOW_TABLES_CACHE | 否 | FALSE | [TRUE|FALSE] | 是否對 |
MERGE_CONCURRENT | 否 | FALSE | [TRUE|FALSE] | 全並存執行開關,主要影響DDL和全下推簡單查詢的並存執行度。 |
MERGE_UNION | 否 | FALSE | [TRUE|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緩衝大小,預設60 MB。主要用途為流控。 |
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為預設限制,表示1w行每秒。 |
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-60] | 物理分庫連結數最小值。 |
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層做歸併排序使用的緩衝大小,預設2 MB。 |
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] | 查詢流量按照(100-MASTER_READ_WEIGHT)設定比例路由給唯讀DN。 |
SHOW_ALL_PARAMS | 否 | FALSE | [TRUE|FALSE] | 是否顯示SHOW全部變數。 |
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] | 是否開啟廣播表隨機讀取最佳化。 |
STORAGE_DELAY_THRESHOLD | 否 | 16777216s | [0-16777216] | 查詢過程中CN感知DN的延遲程度。如果延遲超過設定閾值,則路由給唯讀DN的唯讀流量會根據DELAY_EXECUTION_STRATEGY參數的設定策略執行。 |
DELAY_EXECUTION_STRATEGY | 否 | CONTINUE_TO_SLAVE | [CONTINUE_TO_SLAVE | CHANGE_TO_MASTER | THROW_EXCEPTION] | 當出現唯讀DN延遲超過閾值情況時,可設定如下三個取值:
|
STORAGE_BUSY_THRESHOLD | 否 | 100 | [0-16777216] | 當有多個唯讀DN時,如果某個唯讀DN上的活躍線程數超過設定閾值,則認為當前DN處於繁忙狀態,唯讀流量路由時會避開該唯讀DN。如果所有的唯讀DN都處於繁忙狀態,那麼唯讀流量會隨機路由給一個唯讀DN。 |
ENABLE_CONSISTENT_REPLICA_READ | 否 | TRUE | [TRUE|FALSE] | 一致性讀需求的開關項。 TRUE:路由給唯讀DN的流量可以滿足一致性讀的需求,讀到已提交最新鮮的資料。 FALSE:路由給唯讀DN的流量讀取資料的新鮮程度依賴於主備之間的同步延遲。 |
SUPPORT_INSTANT_ADD_COLUMN | 否 | OFF | [ON|OFF] | 秒級加欄位(Instant Add Column)功能的開關,通過 |
ENABLE_STATEMENTS_SUMMARY | 否 | true | [true|false] | SQL彙總開關。 |
STATEMENTS_SUMMARY_PERCENT | 否 | 1 | [0-100] | SQL彙總百分比。 |