全部產品
Search
文件中心

PolarDB:控制參數與行為

更新時間:Mar 13, 2025

您可以通過修改參數設定來改變DDL執行引擎的行為。本文將介紹如何修改DDL執行引擎相關參數。

DDL執行引擎相關參數

目前您可以在PolarDB-X 1.0控制台上自訂如下與DDL執行引擎相關的參數。

參數影響範圍預設值
ENABLE_ASYNC_DDL資料庫層級、語句層級TRUE(啟用)
PURE_ASYNC_DDL_MODE資料庫層級、會話層級、語句層級FALSE(禁用)
MAX_TABLE_PARTITIONS_PER_DB資料庫層級、語句層級128

ENABLE_ASYNC_DDL

  • 說明
    • 該參數預設啟用,即採用新的DDL執行引擎。
    • 禁用該參數後,PolarDB-X 1.0將使用5.3.12版本之前的DDL執行引擎,PURE_ASYNC_DDL_MODEMAX_TABLE_PARTITIONS_PER_DB參數將不會生效。建議您提交工單諮詢支援人員後,再決定是否禁用該參數。
  • 用法
    • 資料庫層級:通過PolarDB-X 1.0控制台的參數設定進行調整,整個資料庫範圍內生效,詳情請參見參數設定
    • 語句層級:通過在DDL語句前增加HINT的方式/*+TDDL:cmd_extra(ENABLE_ASYNC_DDL=FALSE)*/,可以實現語句層級的控制,僅對該語句生效。

PURE_ASYNC_DDL_MODE

  • 說明
    • 該參數僅在ENABLE_ASYNC_DDL為TRUE時生效。
    • 禁用該參數時,用戶端串連PolarDB-X 1.0執行DDL時是同步阻塞的模式,即DDL任務執行完畢後再返回請求結果。用戶端與PolarDB-X 1.0串連被中斷後,正在執行的DDL任務也可能被中斷。
    • 啟用該參數後,用戶端串連PolarDB-X 1.0執行DDL時是非同步模式,即收到DDL請求便立即返回請求結果,而DDL任務繼續在後台執行。您可以通過SHOW DDL查看DDL任務的狀態,關於如何使用SHOW DDL,詳情請參見任務管理語句
    • 建議您在明確需要啟用非同步模式規避用戶端與PolarDB-X 1.0串連意外中斷的情境下將該參數設定為TRUE。否則,為了保證與MySQL執行DDL行為的相容性,建議您保持該參數的預設值(FALSE)即可。
  • 用法
    • 資料庫層級:通過PolarDB-X 1.0控制台的參數設定進行調整,整個資料庫範圍內生效,詳情請參見參數設定
    • 會話層級:
      • 串連PolarDB-X 1.0後,執行set PURE_ASYNC_DDL_MODE=trueset PURE_ASYNC_DDL_MODE=1設定會話變數啟用非同步模式,在當前會話範圍內生效。
      • 通過set PURE_ASYNC_DDL_MODE=falseset PURE_ASYNC_DDL_MODE=0恢複該會話的預設行為,使用同步模式。
    • 語句層級:通過在DDL語句前增加HINT的方式/*+TDDL:cmd_extra(PURE_ASYNC_DDL_MODE=TRUE)*/,可以實現語句層級的控制,僅對該語句生效。

MAX_TABLE_PARTITIONS_PER_DB

  • 說明
    • 該參數僅在ENABLE_ASYNC_DDL為TRUE時生效。
    • 建立拆分表時,若指定的單個物理庫的分表數超過該參數的限制,DDL任務將報錯停止執行。
      說明 該參數取值範圍為1~65535,預設值為128。
  • 用法
    • 資料庫層級:通過PolarDB-X 1.0控制台的參數設定進行調整,整個資料庫範圍內生效,詳情請參見參數設定
    • 語句層級:通過在DDL語句前增加HINT的方式/*+TDDL:cmd_extra(MAX_TABLE_PARTITIONS_PER_DB=400)*/,可以實現語句層級的控制,僅對該語句生效。