全部產品
Search
文件中心

PolarDB:參數配置

更新時間:Jul 25, 2025

本文將詳細介紹PolarDB MySQL版核心參數資訊。

您可以在這裡瞭解到根據不同的功能的相關參數。

說明

部分叢集參數在PolarDB控制台上都已加上MySQL設定檔的相容性首碼loose_

公用參數

參數名稱

層級

參數說明

implicit_primary_key

Global

用於控制當表無主鍵時,是否自動產生隱式主鍵。取值範圍:

  • ON:自動添加隱式主鍵。

  • OFF:不自動添加隱式主鍵。

說明
  • 當前參數的值為ON時,PolarDB會為沒有主鍵的表自動添加一個隱式主鍵。該主鍵的空間開銷相對較小,但也會相應地增加儲存空間的使用量。如果您不希望添加隱式主鍵,可聯絡我們修改當前參數。

  • 您可以通過SHOW GLOBAL VARIABLES LIKE 'xxx';命令來查看當前參數的取值。

列存索引(IMCI)

參數名稱

層級

參數說明

loose_allow_implicit_imci_alter_comment

Session

是否允許修改表級備忘資訊。取值範圍如下:

  • ON(預設):以修改備忘的方式建立列存索引。

  • OFF:以不修改備忘的方式建立列存索引。

loose_imci_enable_pack_order_key

Global/Session

建立列存索引時資料排序功能控制開關。取值如下:

  • ON(預設):開啟新增列存索引時資料排序功能。

  • OFF:關閉新增列存索引時資料排序功能。

loose_imci_enable_pack_order_key_changed_rebuild

Global

列存索引在索引排序發生變化時,是否需要重建表。取值範圍如下:

  • ON:列存索引在Order Key發生變化時,需要重建表。

  • OFF(預設):列存索引在Order Key發生變化時,不需要重建表。

loose_imci_parallel_build_threads_per_table

Global

設定列索引的排序鍵的單張表的線程數量。

取值範圍:1~128。預設值:8。

loose_imci_optimizer_switch

Global/Session

是否在滿足條件的查詢語句中使用Hybrid Plan加速寬表查詢。取值範圍如下:

  • 'force_hybrid_index_search=OFF'(預設):不強制使用Hybrid Plan加速寬表查詢(通過最佳化器自動選擇)。

  • 'force_hybrid_index_search=ON':強制使用Hybrid Plan加速寬表查詢。

說明

如果查詢語句中涉及的表沒有統計資訊,或未啟用列存索引的基數估計和代價計算功能,即使該參數設定為ON,列存索引的JOIN REORDER功能也不會啟用。

loose_imci_auto_update_statistic

Global/Session

當統計資訊過舊時,列存索引(IMCI)最佳化器是否重新收集統計資訊。取值如下:

  • ASYNC(預設):當統計資訊過舊時,列存索引(IMCI)最佳化器會非同步採樣並重新收集統計資訊。

  • SYNC:當統計資訊過舊時,列存索引(IMCI)最佳化器會同步採樣並重新收集統計資訊。

  • OFF:當統計資訊過舊時,列存索引(IMCI)最佳化器不會重新收集統計資訊。

loose_imci_max_enum_join_pairs

Global

在使用列存索引功能並開啟串連重排序時,允許列存索引(IMCI)最佳化器搜尋的等價執行計畫數量。

取值範圍:0~4294967295。預設值:2000。

loose_etl_from_imci

Global/Session

是否開啟使用ETL從列存中讀取資料。取值範圍如下:

  • ON:開啟。

  • OFF(預設):關閉。

  • FORCED:取消事務限制。

loose_etl_from_imci_compress

Global/Session

從唯讀列存節點讀取資料時,是否需要壓縮檔。取值如下:

  • ON:從唯讀列存節點讀取資料時,壓縮檔。

  • OFF(預設):從唯讀列存節點讀取資料時,不壓縮檔。

loose_imci_enable_hybrid_plan

Global

使用Hybrid Plan加速寬表查詢功能的控制開關。取值範圍如下:

  • ON(預設):開啟Hybrid Plan加速寬表查詢功能。

  • OFF:關閉Hybrid Plan加速寬表查詢功能。

loose_imci_enable_window_function

Global

含有視窗函數的SQL語句能否使用列存索引功能。取值範圍如下:

  • 2(預設):含有視窗函數的SQL語句可以使用列存索引功能。

  • 1:含有視窗函數,且視窗函數中不指定FRAME的SQL語句,可以使用列存索引功能。

  • 0:含有視窗函數的SQL語句不支援使用列存索引功能。

loose_imci_min_virtual_memory

Global

使用列存索引進行查詢的最小記憶體。

取值範圍:1~9223372036854775807。預設值:DBNodeClassMemory*3/20。單位為Byte。

loose_imci_max_virtual_memory

Global

使用列存索引進行查詢的最大記憶體。

取值範圍:1~9223372036854775807。預設值:9223372036854775807。單位為Byte。

loose_imci_ap_threshold

Global/Session

分發至列存節點的SQL語句的預估執行代價閾值。

取值範圍:1~18446744073709551615。預設值:50000。

說明

開啟列存和行存自動引流功能後,如果SQL語句的預估執行代價閾值大於50000,則路由至列存節點。

loose_cost_threshold_for_imci

Session

列存節點內部當前SQL語句的預估執行代價閾值。

取值範圍:1~18446744073709551615。預設值:50000。

說明

開啟列存和行存自動引流功能後,如果SQL語句的預估執行代價閾值大於50000,則選擇列存執行計畫。否則,選擇行存執行計畫。

loose_imci_enable_query_trace

Global

列存索引查詢最佳化過程中,是否列印核心錯誤日誌的控制開關。取值範圍如下:

  • ON:列存索引查詢最佳化過程中,列印核心錯誤日誌。

  • OFF(預設):列存索引查詢最佳化過程中,不列印核心錯誤日誌。

loose_polar_enable_implicit_imci_with_create_table

Global

是否為所有建立的表添加全表覆蓋的列索引。取值範圍如下:

  • ON:為所有建立的表添加全表覆蓋的列索引。

  • OFF(預設):不為所有建立的表添加全表覆蓋的列索引。

loose_imci_columnar_advise_buffer_size

Global

設定dbms_imci.columnar_advise();預存程序的可用記憶體大小。

取值範圍:0~18446744073709551615。預設值:8388608。單位為Byte。

loose_imci_default_pack_shift

Global

設定列存索引的行組(row group)大小。

取值範圍:7~18。預設值:14。

說明

PolarDB MySQL版8.0.1版本且小版本為8.0.1.1.36及之前版本,該參數的預設值為16。

loose_slow_log_record_imci

Global

設定是否在慢日誌中添加與列存索引相關的資訊。取值範圍如下:

  • ON:在慢日誌中添加與列存索引相關的資訊。

  • OFF(預設):在慢日誌中不添加與列存索引相關的資訊。

loose_imci_default_write_policy

Global

設定列存索引資料的寫入策略。取值範圍如下:

  • Tradeoff(預設):在Skip4K基礎上進行最佳化,當寫入的資料量小於1 MB時等價於ForPerformance。寫入的資料量大於或等於1 MB時,儘可能地將資料分割到不同的檔案中。

  • ForCapacity:優先考慮儲存空間,儘可能地將資料切分後跨越多個檔案進行寫入,以最大化減少內部片段,每次寫入最多產生1個4 KB的內部片段。

  • ForPerformance:優先考慮效能,每次寫入時選擇一個ExtentSize最合適的檔案。IO效能最好,內部片段率最大,空間浪費較多。

  • Skip4K:資料切分邏輯類似ForCapacity。大於4 KB的資料在寫入時完全不考慮4 KB Extent,每次寫入最多產生1個16 KB的內部片段。

彈性並行查詢(Elastic Parallel Query)

參數名稱

層級

參數說明

loose_max_parallel_degree

Global/Session

單個查詢的最大並行度,即並存執行的最大Worker數量。

取值範圍:0~1024。預設值:0,表示關閉並行查詢。

說明
  • PolarDB最佳化器可能會對主查詢和子查詢分別並存執行,如果同時並存執行,它們的最大Worker數不能超過loose_max_parallel_degree的值,整個查詢使用的Worker數為主查詢和子查詢使用的Worker數之和。

  • 控制台中的並行查詢設定與loose_max_parallel_degree參數說明如下:

    • 若控制台和系統參數loose_max_parallel_degree均有設定,則以控制台配置為準。因此,建議使用控制台來開啟並行查詢。

    • 若控制台未開啟並行查詢,但系統參數loose_max_parallel_degree被設定為大於0時,相當於預設開啟了單機並行。

loose_max_parallel_workers

Global

最大允許同時啟動並執行並行worker線程數,超過該值後並行查詢需要進入任務隊列中等待。

取值範圍:1~10000。預設值為CPU核心數的2倍。

說明
  • loose_max_parallel_workers參數在Serverless叢集中會根據節點規格的彈性擴充/收縮而進行調整。

  • 更多關於並行查詢排隊策略的詳細介紹,請參見並行資源控制策略配置

loose_queuing_parallel_degree_limit

Global

最大允許同時進入並行排隊的並行度總和,超過該值後查詢將被禁止並行查詢,回退為串列執行。

取值範圍:0~10000。預設值:64。

loose_pq_max_queuing_time

Global/Session

並行查詢在隊列中最大等待時間,等待時間超出該值後直接回退為串列執行。

取值範圍:0~18446744073709551615。預設值:200。單位:毫秒。

loose_parallel_degree_policy

Global

設定單個查詢的並行度配置策略,取值範圍如下:

  • TYPICALPolarDB選取查詢並行度時不會考慮資料庫負載(如CPU使用率等),而儘可能與loose_max_parallel_degree設定的並行度保持一致。

  • AUTOPolarDB會根據資料庫負載(如CPU使用率等)來決定是否禁止並行查詢計劃,並會根據查詢代價選擇並行度。

  • REPLICA_AUTO(預設):僅唯讀節點會根據資料庫負載(如CPU使用率等)決定是否禁止並行查詢計劃,並會根據查詢代價選擇並行度,而主節點不會開啟並行查詢。

說明

更多關於並行度配置策略的詳細介紹,請參見並行資源控制策略配置

loose_records_threshold_for_parallelism

Session

若最佳化器估算出語句中存在掃描記錄數超過該閾值的表,最佳化器會考慮選擇並存執行計劃

取值範圍:0~18446744073709551615。預設值:10000。

說明

若您的業務量較小或複雜查詢業務並發較低,您可以選擇將該閾值設定為2000或以上。

loose_cost_threshold_for_parallelism

若最佳化器估算查詢的串列執行代價超過該閾值,最佳化器會考慮選擇選擇並存執行計劃

取值範圍:0~18446744073709551615。預設值:50000。

loose_records_threshold_for_mpp

查詢語句中表掃描行數超過該閾值後,最佳化器會考慮選擇多機並存執行方式。

取值範圍:0~18446744073709551615。預設:0,含義是自動取值loose_records_threshold_for_parallelism的N倍,N為ePQ叢集的節點個數

loose_cost_threshold_for_mpp

查詢語句的串列執行代價超過該閾值後,最佳化器會考慮選擇多機並存執行方式。

取值範圍:0~18446744073709551615。預設值:0,含義是自動取值loose_cost_threshold_for_parallelism的N倍,N為節點個數

loose_auto_dop_cpu_pct_hwm

Global

CPU使用率閾值。若CPU使用率超過閾值,PolarDB會禁止並行查詢計劃。

取值範圍:0~100。預設值:70。

loose_auto_dop_mem_pct_hwm

記憶體使用量率閾值。若記憶體使用量率超過閾值,PolarDB會禁止並行查詢計劃。

取值範圍:0~100。預設值:90。

loose_auto_dop_iops_pct_hwm

IOPS使用率閾值。若IOPS使用率超過閾值,PolarDB會禁止並行查詢計劃。

取值範圍:0~100。預設值:80。

查詢最佳化

參數名稱

層級

參數說明

loose_polar_optimizer_switch

Global/Session

僅開啟或關閉子查詢摺疊功能。預設不做子查詢合并。

取值範圍如下:

  • coalesce_subquery=ON:開啟子查詢摺疊功能。

  • coalesce_subquery=OFF:關閉子查詢摺疊功能。

Global/Session

查詢最佳化控制開關。取值範圍如下:

  • 'having_cond_pushdown=ON'(預設):開啟條件下推(HAVING to WHERE)功能。

  • 'having_cond_pushdown=OFF':關閉條件下推(HAVING to WHERE)功能。

Global/Session

串連條件下推開關。取值範圍如下:

  • 'join_predicate_pushdown=ON'(預設):開啟串連條件下推功能。

  • 'join_predicate_pushdown=OFF':關閉串連條件下推功能。

loose_in_predicate_conversion_threshold

Global

IN謂詞轉JOIN功能控制開關。

當SQL語句的IN列表中的元素個數大於或等於該參數值時,SQL語句進行轉換,將IN謂詞轉換為JOIN。

取值範圍:0~999999。預設值:5000。

說明

當該參數設定為0時,表示關閉該功能。

loose_join_elimination_mode

Global

LEFT JOIN(左串連)消除功能控制開關。取值範圍:

  • REPLICA_ON(預設):僅在唯讀節點開啟LEFT JOIN(左串連)消除功能。

  • ON:開啟LEFT JOIN(左串連)消除功能。

  • OFF:關閉LEFT JOIN(左串連)消除功能。

loose_join_predicate_pushdown_opt_mode

Global

用於控制在何種節點上開啟串連條件下推功能。取值範圍如下:

  • REPLICA_ON(預設):僅在唯讀節點開啟串連條件下推功能。

  • ON:在所有節點都開啟串連條件下推功能。

  • OFF:在所有節點都關閉串連條件下推功能。

loose_having_cond_pushdown_mode

Global

控制在何種節點上開啟條件下推(HAVING to WHERE)功能。取值範圍如下:

  • REPLICA_ON(預設):僅在唯讀節點開啟條件下推(HAVINGtoWHERE子句)功能。

  • ON:在所有節點都開啟條件下推(HAVINGtoWHERE子句)功能。

  • OFF:在所有節點都關閉條件下推(HAVINGtoWHERE子句)功能。

loose_derived_cond_pushdown_mode

Global

條件下推(WHERE條件下推派生表)控制開關。取值範圍:

  • OFF:關閉條件下推(WHERE to Derived Tables)功能。

  • ON:開啟條件下推(WHERE to Derived Tables)功能。

  • REPLICA_ON(預設):僅在唯讀節點開啟條件下推(WHERE to Derived Tables)功能。

loose_subquery_cond_pushdown_mode

Global

條件下推(WHERE子句下推至IN子查詢)下推功能的控制開關。取值範圍如下:

  • REPLICA_ON:僅在唯讀節點開啟該條件下推功能。

  • ON:開啟該條件下推功能。

  • OFF(預設):關閉該條件下推功能。

loose_join_cond_push_into_derived_mode

Global

條件下推(串連條件下推至物化派生表)下推功能的控制開關。取值範圍如下:

  • REPLICA_ON(預設):僅在唯讀節點開啟該條件下推功能。

  • ON:開啟該條件下推功能。

  • OFF:關閉該條件下推功能。

loose_predicate_deduce_mode

Global

謂詞推導(條件下推增強)功能控制開關。取值範圍如下:

  • REPLICA_ON:僅在唯讀節點開啟謂詞推導功能。

  • ON:開啟謂詞推導功能。

  • OFF(預設):關閉謂詞推導功能。

loose_plan_cache_type

Session

計畫快取 (Auto Plan Cache)模式。取值如下:

  • OFF(預設):關閉Auto Plan Cache功能。

  • AUTO:自動將滿足緩衝條件的SQL語句的執行計畫緩衝在Plan Cache中。

    說明

    緩衝條件:

    SQL語句的整體執行時間閾值大於或等於loose_auto_plan_cache_time_threshold參數值,且SQL語句的最佳化時間佔整體執行時間閾值的百分比閾值大於或等於loose_auto_plan_cache_pct_threshold參數值時,該SQL語句的執行計畫會被緩衝到Plan Cache中。

  • DEMAND:將指定SQL語句的執行計畫緩衝在Plan Cache中。

  • ENFORCE:強制將所有SQL語句的執行計畫緩衝在Plan Cache中。

loose_plan_cache_expire_time

Session

計畫快取 (Auto Plan Cache)中的執行計畫超過該時間沒有被命中,記憶體會被回收。單位為秒。

取值範圍:0~4294967295。預設值:1800。

loose_auto_plan_cache_pct_threshold

Session

最佳化時間占語句整體執行時間的百分比閾值。

取值範圍:0~100。預設值:20。

loose_auto_plan_cache_time_threshold

Session

SQL語句整體執行時間閾值。單位為微秒。

取值範圍:0~18446744073709551615。預設值:400。

loose_auto_plan_cache_count_threshold

Session

loose_plan_cache_type參數設定為AUTO時,滿足緩衝條件的SQL語句的執行計畫緩衝到Plan Cache中的次數閾值。

取值範圍:0~18446744073709551615。預設值:512。

說明

緩衝到Plan Cache中的次數閾值大於或等於loose_auto_plan_cache_count_threshold參數值時,緩衝中的執行計畫才會生效。

loose_adaptive_plans_switch

Global/Session

自適應執行能力控制開關。取值範圍如下:

  • imci_chosen:在行列路由中使用自適應執行的開關。

    • ON(預設):開啟行列路由中使用自適應執行,但仍然需要正確配置列存節點才會生效。

    • OFF:禁止行列路由中使用自適應執行。

  • ordering_index:在行列路由中使用自適應選取有序索引的開關。

    • ON:開啟自適應調整有序索引選擇的功能。

    • OFF(預設):禁止自適應調整有序索引選擇結果。

loose_adaptive_cost_threshold_for_imci

Global/Session

設定行列自適應執行能力分流代價閾值。

取值範圍:1~18446744073709551615。預設值:50000。

說明

該參數適用的資料庫引擎版本如下:

  • PolarDB MySQL版8.0.1版本且修訂版本為8.0.1.1.49及以上。

  • PolarDB MySQL版8.0.2版本且修訂版本為8.0.2.2.29及以上。

loose_adaptive_plans_max_time

Global/Session

允許切換自適應執行能力的SQL語句已執行時間的最大值。即當查詢語句在原計劃的執行時間超過該時間後,即使觸發切換計劃閾值,也不再切換執行計畫。

取值範圍:0~1800000。預設值為500。單位為毫秒。

loose_adaptive_ordering_rows_threshold

Global/Session

設定有序索引的自適應選擇檢查點。有效索引值越小,將越早進行自適應檢查和調整。

取值範圍:0~4294967295。預設值為50000。

loose_optimizer_switch

Global/Session

Limit Offset下推的總控制開關。其中,計算下推的子控制開關如下:

  • limit_offset_pushdown:Limit Offset下推最佳化開關。

    • ON(預設):開啟Limit Offset下推最佳化開關。

    • OFF:關閉Limit Offset下推最佳化開關。

  • detach_range_condition:謂詞完全下推最佳化開關。

    • ON(預設):開啟謂詞完全下推最佳化開關。

    • OFF:關閉謂詞完全下推最佳化開關。

loose_bloom_filter_enabled

Global/Session

Bloom Filter最佳化開關。取值範圍如下:

  • ON(預設):開啟Bloom Filter最佳化開關。

  • OFF:關閉Bloom Filter最佳化開關。

DDL最佳化

參數名稱

層級

參數說明

loose_innodb_support_instant_add_column

Global

秒級加欄位功能的開關,取值範圍如下:

  • ON:開啟秒級加欄位功能。

  • OFF(預設):關閉秒級加欄位功能。

說明

該參數適用的資料庫引擎版本如下:

  • PolarDB MySQL版5.6版本的秒級加列功能目前處於灰階階段。如需使用,請前往配額中心,根據配額IDpolardb_mysql_iac_56找到配額名稱,在對應的操作列單擊申請來開通該功能。

  • PolarDB MySQL版5.7版本且修訂版本為5.7.1.0.6及以上,您需要先開啟loose_innodb_support_instant_add_column參數才能在PolarDB MySQL版5.7版本的叢集上使用該功能。

  • PolarDB MySQL版8.0版本無需配置該參數即可直接使用秒級加欄位功能。

loose_innodb_polar_instant_modify_column_enable

Global

秒級修改欄位功能控制開關。取值範圍如下:

  • ON:開啟秒級修改欄位功能。

  • OFF(預設):關閉秒級修改欄位功能。

說明

PolarDB MySQL版秒級修改欄位功能目前處於灰階發布階段。如需使用請前往配額中心,根據配額IDpolarm_82_instant_modify_column找到配額名稱,在對應的操作列單擊申請來開通該功能。

loose_innodb_polar_instant_modify_column_max_times

Global

設定單表允許的秒級修改欄位最大次數。

取值範圍:1~64。 預設值:16。

loose_innodb_support_instant_modify_charset

Global

秒級修改列字元集功能控制開關。取值範圍如下:

  • OFF(預設):關閉秒級修改列字元集功能。

  • ON:開啟秒級修改列字元集功能。

說明

叢集版本需為以下版本之一:

  • PolarDB MySQL版8.0.1版本且修訂版本為8.0.1.1.40及以上,您需要先配置loose_innodb_support_instant_modify_charset參數才能在PolarDB MySQL版8.0.1版本的叢集上使用該功能。

  • PolarDB MySQL版8.0.2版本的叢集預設支援秒級修改列字元集功能,無需配置任何參數。

loose_innodb_polar_parallel_ddl_threads

Session

控制每一個DDL操作的並行線程數。取值範圍:1~16。預設值:1,即執行單線程DDL。

若該參數值不為1,當執行建立二級索引操作時將自動開啟並行DDL。

說明

該參數取值為1的時候,系統預設開啟2個並行線程數。

innodb_parallel_build_primary_index

Global

控制是否允許建立主鍵索引時使用並行DDL功能。取值範圍如下:

  • ON:允許建立主鍵索引時使用並行DDL功能。

  • OFF(預設):不允許建立主鍵索引時使用並行DDL功能。

說明

該參數當前處於灰階發布階段。如有需求,請前往配額中心,在配額名稱PolarDB並行建立主鍵試用白名單操作列,單擊申請,申請試用。

loose_innodb_polar_use_sample_sort

Session

sample sort最佳化功能開關,取值範圍如下:

  • ON:開啟sample sort最佳化功能開關。

  • OFF(預設):關閉sample sort最佳化功能開關。

loose_innodb_polar_use_parallel_bulk_load

Session

並行bulk load最佳化功能開關,取值範圍如下:

  • ON:開啟並行bulk load最佳化功能開關。

  • OFF(預設):關閉並行bulk load最佳化功能開關。

loose_innodb_polar_ddl_build_index_readahead

Global

DDL預讀功能的開關,取值範圍如下:

  • ON:開啟DDL預讀功能。

  • OFF(預設):關閉DDL預讀功能。

loose_innodb_polar_ddl_build_index_readahead_page_num

Global

DDL預讀的page數量,一個page大小是16k。

取值範圍:32~256。預設值:64。

loose_innodb_polar_ddl_async_io

Global

DDL非同步IO功能開關。取值範圍如下:

  • ON:開啟DDL非同步IO功能。

  • OFF(預設):關閉DDL非同步IO功能。

loose_innodb_polar_parallel_merge_ways

Session

設定建立索引過程中歸併排序的路數。

取值範圍:2~16。預設值:2,表示資料庫預設為二路歸併排序。當該參數值大於2時,表示開啟多路歸併排序。

loose_innodb_flush_pages_using_space_id

Global

Faster TRUNCATE/DROP TABLE功能開關。取值範圍如下:

  • ON(預設值):開啟Faster TRUNCATE/DROP TABLE功能。

  • OFF:關閉Faster TRUNCATE/DROP TABLE功能。

說明

PolarDB MySQL版叢集版本需為5.7版本且小版本為5.7.1.0.21或以上。

loose_polar_nonblock_ddl_mode

Session

Nonblock DDL功能開關。取值範圍如下:

  • ON:開啟Nonblock DDL功能。

  • OFF(預設):關閉Nonblock DDL功能。

loose_polar_nonblock_ddl_retry_times

Session

設定擷取MDL-X鎖逾時重試的次數。取值範圍:0~31536000。預設值:0(由參數lock_wait_timeout計算得到的值)。

說明

該參數值建議設定為4194304。

loose_polar_nonblock_ddl_retry_interval

Session

設定擷取MDL-X鎖逾時重試的時間間隔。

取值範圍:0~31536000。單位為秒。預設值:6。

loose_polar_nonblock_ddl_lock_wait_timeout

Session

設定擷取MDL-X鎖逾時的時間。

取值範圍:1~31536000。單位為秒。預設值:1。

loose_innodb_bulk_load_page_grained_redo_enable

Global

DDL物理複製最佳化功能開關,取值範圍如下:

  • ON:開啟DDL物理複製最佳化。

  • OFF(預設):關閉DDL物理複製最佳化。

loose_polar_support_mdl_sync_preemption

Session

搶佔式DDL功能開關。取值範圍如下:

  • ON:開啟搶佔式DDL功能。

  • OFF(預設):關閉搶佔式DDL功能。

loose_polar_mdl_sync_preempt_after_wait_second

Global

設定同步MDL鎖阻塞時,等待逾時的時間。到達此時間還未成功同步MDL鎖,則開始搶佔線程。

取值範圍:1~31536000。預設值:10。

loose_polar_enable_explain_ddl

Global

EXPLAIN DDL功能開關。取值範圍如下:

  • ON(預設):開啟EXPLAIN DDL功能。

  • OFF:關閉EXPLAIN DDL功能。

loose_polar_max_collect_thd_num_in_explain_ddl

Global

控制收集的潛在MDL阻塞線程的數目。

取值範圍:1~512,預設值:16。

loose_polar_performance_schema

Global

控制是否啟用Polar Performance Schema功能。取值:

  • ON:開啟Polar Performance Schema。

  • OFF:關閉Polar Performance Schema。

說明

您需要在控制台上將loose_polar_performance_schema參數設為ON,該參數需重啟叢集後才會生效。

performance_schema_max_thread_instances

Global

配置Polar Performance Schema監控的最大線程數。取值範圍:-1~65536。取值為-1時,表示自適應。

說明

該參數已進行調優,不建議您自行修改。

performance_schema_max_metadata_locks

Global

配置Polar Performance Schema監控的最大MDL鎖數。取值範圍:-1~1048576。取值為-1時,表示自適應。

說明

該參數已進行調優,不建議使用者自行修改。

loose_recycle_bin

Global/Session

表資源回收筒功能開關。取值範圍如下:

  • ON:開啟表資源回收筒功能開關。

  • OFF(預設):關閉表資源回收筒功能開關。

loose_recycle_scheduler

Global

資源回收筒的非同步清理任務線程開關。取值範圍如下:

  • ON:開啟資源回收筒的非同步清理任務線程開關。

  • OFF(預設):關閉資源回收筒的非同步清理任務線程開關。

loose_recycle_bin_retention

Global

資源回收筒內資料的最長保留周期。取值範圍:86400~1209600(即14天),單位為秒。預設值為604800(即7天)。

重要

資源回收筒清理任務線程狀態如下:

  • 當 loose_recycle_scheduler=ON時,表資源回收筒內的資料將基於設定的保留周期loose_recycle_bin_retention(預設值7天)進行自動清理。

  • 當 loose_recycle_scheduler=OFF時,表資源回收筒內的資料將長期保留,不會自動清理。

Binlog管理

參數名稱

層級

參數說明

loose_enable_large_trx_optimization

Global

開啟或關閉Binlog大事務最佳化機制。取值範圍如下:

  • OFF(預設):關閉Binlog大事務最佳化機制。

  • ON:開啟Binlog大事務最佳化機制。

說明

該參數修改後立即生效,無需重啟叢集。

loose_binlog_large_trx_threshold_up

Global

Binlog大事務最佳化的閾值。開啟Binlog大事務最佳化機制後,當單個事務產生的Binlog大小超過該閾值時,將採用最佳化的Binlog提交方式。

取值範圍:10 MB~300 GB。預設值:1 GB。

說明

該參數修改後立即生效,無需重啟叢集。

高並發最佳化

參數名稱

層級

參數說明

loose_ccl_mode

Global

超出並發數量時,SQL語句的行為。取值如下:

  • WAIT(預設):排隊等待。等待其它SQL語句執行完成後執行該語句。

  • REFUSE:報錯。

說明

PolarDB MySQL版 8.0版本支援該參數。5.6和5.7版本直接進行排隊等待。

loose_ccl_max_waiting_count

Global

loose_ccl_mode參數設定為WAIT時,符合單個CCL規則的SQL語句排隊等待的最大數量,超出該值時會報錯。

取值範圍:0~65536。預設值為0。

說明

PolarDB MySQL版 5.7和8.0版本支援該參數。

loose_hotspot

Global

熱點行最佳化功能總開關。取值範圍如下:

  • ON:開啟。

  • OFF(預設):關閉。

loose_thread_pool_enabled

Global

是否開啟線程池功能。取值:

  • ON:開啟。

  • OFF(預設):關閉。

說明
  • 該參數不同版本預設值不一致。

    • PolarDB MySQL版5.6版本。預設值為OFF。

    • PolarDB MySQL版5.7版本、8.0版本預設值為ON。

  • 開啟或關閉線程池功能無需重啟叢集。

loose_thread_pool_size

Global

線程池中線程組的數量。取值範圍與叢集中主節點規格的CPU核心數有關。

取值範圍:DBNodeClassCPU~DBNodeClassCPU*10。預設值:DBNodeClassCPU*2。

說明
  • DBNodeClassCPU為主節點規格的CPU核心數,整數類型。

  • 資料庫引擎MySQL 5.7版本預設值為DBNodeClassCPU。

舉例如下:

  • 資料庫引擎MySQL 8.0.1叢集版系列中,主節點規格為4核8 GB,其取值範圍和預設值分別為4~40和8。

  • 資料庫引擎MySQL 8.0.1多主叢集(庫表)系列中,兩個主節點規格為4核8 GB,其取值範圍和預設值分別為8~80和16。

  • 資料庫引擎MySQL 5.7叢集版系列中,主節點規格為4核8 GB,其取值範圍和預設值分別為4~40和4。

loose_thread_pool_high_prio_mode

Global

線程池高優先順序隊列模式。

取值範圍如下:

  • transactions(預設):已開啟事務的SQL將被加入高優先順序隊列,並被賦予thread_pool_high_prio_tickets這個門票,接下來執行的SQL都將被放入高優先順序隊列,直到門票被耗盡。

  • statements:所有SQL都會加入高優先順序隊列。

  • none:所有SQL都不加入高優先順序隊列。

說明

PolarDB MySQL版5.6和5.7版本支援該參數。

loose_thread_pool_high_prio_tickets

Global

高優先順序隊列的單次門票數。

取值範圍:0~4294967295。預設值:4294967295。

說明

PolarDB MySQL版5.6和5.7版本支援該參數。

loose_thread_pool_idle_timeout

Global

釋放線程池空閑線程的時間閾值,超過此時間,沒有服務任何請求的空閑線程將被釋放。

取值範圍:0~31536000。預設值:60。單位:秒。

說明

PolarDB MySQL版5.6和5.7版本支援該參數。

loose_thread_pool_oversubscribe

Global

每個線程組中允許的活躍線程的數量。

取值範圍:1~1000。預設值:20。

活躍線程是指正在執行SQL語句的線程,但是不包括以下兩種情形:

  • SQL語句在等待磁碟I/O。

  • SQL語句在等待事務提交。

loose_thread_pool_stall_limit

Global

判斷線程池進入擁塞狀態的時間閾值。

當線程池進入擁塞狀態時,系統會建立新的線程來服務SQL。

取值範圍:1~18446744073709551615。預設值:10。單位:毫秒。

說明

資料庫引擎MySQL 5.6版本預設值為30毫秒。

loose_bypass_thread_pool_ips

Global

配置不受線程池限制的用戶端IP地址。即便線程池被佔滿時,也可以執行SQL來進行一些管理操作。

配置樣本:

10.69.96.16,10.69.96.17
說明

PolarDB MySQL版8.0.1版本且小版本為8.0.1.1.19支援該參數。

loose_bypass_thread_pool_check_ignore_proxy

Global

配置高優先順序別的資料庫帳號。配置後這些帳號的請求將會被放到線程池的高優先順序隊列中,優先進行處理。

配置樣本:

user1, user2
說明
  • PolarDB MySQL版8.0.1版本且小版本為8.0.1.1.19支援該參數。

  • 配置該參數後,僅對建立的資料庫連接生效。

  • 不建議您配置過多的高優先順序帳號。

loose_thread_pool_high_priority_users

Global

配置DDL的線程池逾時時間閾值。超過此時間後,將DDL標記為逾時狀態,系統會建立新的線程來處理請求。

取值範圍:0~864000。預設值:600。單位:秒。

說明

PolarDB MySQL版8.0.1版本且小版本為8.0.1.1.19支援該參數。

loose_thread_pool_mark_ddl_thread_timeout_sec

Global

配置DDL的線程池逾時時間閾值。超過此時間後,將DDL標記為逾時狀態,系統會建立新的線程來處理請求。

取值範圍:0~864000。預設值:600。單位:秒。

說明

PolarDB MySQL版8.0.1版本且小版本為8.0.1.1.19支援該參數。

loose_thread_pool_mark_ddl_thread_timeout_immediately

Global

線程池處於高負載狀態,造成低優先順序隊列發生堆積時,是否立刻將DDL標記為逾時狀態,此時系統會建立新的線程來處理請求。該參數適用於需要經常批量DDL的業務情境中。

取值範圍:

  • ON:開啟。

  • OFF(預設):關閉。

說明

PolarDB MySQL版8.0.1版本且小版本為8.0.1.1.19支援該參數。

loose_innodb_polar_blink_tree

Global

B-tree並發控制最佳化機制控制開關。取值範圍如下:

  • OFF(預設):關閉B-tree並發控制最佳化機制。

  • ON:開啟B-tree並發控制最佳化機制。

分區表

參數名稱

層級

參數說明

loose_partition_level_mdl_enabled

Global

線上分區維護功能開關,取值範圍如下:

  • ON:開啟PARTITION Level MDL功能。

  • OFF:關閉PARTITION Level MDL功能。

說明

修改該參數需要重啟叢集。

loose_hybrid_partition_query_mix_engine_enabled

Global

查詢混合分區表時,是否查詢非InnoDB引擎中的分區資料。取值如下:

  • ON(預設):查詢混合分區表時,查詢非InnoDB引擎中的分區資料。

  • OFF:查詢混合分區表時,不查詢非InnoDB引擎中的分區資料。

閃回查詢

參數名稱

層級

參數說明

loose_innodb_backquery_enable

Global

開啟或者關閉閃回查詢功能。取值:

  • ON:開啟。

  • OFF:關閉(預設)。

說明
  • 閃回查詢功能需要開啟innodb_backquery_enable參數,該參數預設關閉。使用該功能前,您需要在PolarDB叢集的參數配置中先開啟innodb_backquery_enable參數。

  • 如果您在開啟innodb_backquery_enable參數之前執行閃回查詢,系統會返回報錯ERROR 1815 (HY000): Internal error: the backquery_time set is out of range, too old

loose_innodb_backquery_window

Global

閃回查詢支援的時間長度。

取值範圍:1~604800。預設值:86400。單位:秒。

loose_innodb_backquery_capacity_limit

Global

閃回查詢支援的undo日誌容量。當undo日誌容量大於或等於該值時,將會縮短閃回查詢支援的時間長度。

取值範圍:100~200000000。預設值:100000000。單位:MB。

冷資料歸檔

參數名稱

層級

參數說明

loose_csv_oss_buff_size

Session

當前一個OSS線程所佔用的記憶體大小。預設值:134217728。單位:Byte。

取值範圍:4096~134217728。

loose_csv_max_oss_threads

Global

當前允許啟動並執行OSS線程數量。

取值範圍:1~100。預設值為1。單位:個。

loose_max_oss_outfile_threads

Session

PolarDB可以同時啟動的OSS OUTFILE線程數量。取值範圍:1~100。預設值為1。單位:個。

您可以使用SHOW STATUS LIKE "oss_outfile_threads_running";命令查看當前叢集正在啟動並執行OSS OUTFILE線程數量。

說明

叢集版本為PolarDB MySQL版8.0.1.1.38及以上的版本時,該參數已失效。

loose_oss_outfile_buffer_size

Global

單個OSS OUTFILE線程可以佔用的記憶體大小。一般情況下,佔用的記憶體越大,匯出速度越快。

取值範圍:102400~536870912。預設值:134217728。單位:Byte。

資料清理

參數名稱

層級

參數說明

loose_innodb_enable_ttl_purge

Global

是否開啟資料清理(TTL)開關。

取值範圍如下:

  • OFF(預設):關閉。

  • ON:開啟。

loose_innodb_ttl_min_interval

Global

設定資料到期時間時,允許的最小時間。

取值範圍:0~4294967295。預設值為100。預設單位為秒。

loose_innodb_ttl_purge_thread

Global

資料清理(TTL)到期資料的線程數。修改後需重設innodb_enable_ttl_purge參數才會生效。

取值範圍:2~32。預設值為4。單位為個。

loose_innodb_ttl_cluster_index_purge_batch_size

Global

資料清理(TTL)時,掃描主鍵的數量。

取值範圍:10000~1000000。預設值為10000。單位為個。

loose_innodb_ttl_index_purge_batch_size

Global

資料清理(TTL)時,掃描TTL列索引的資料。

取值範圍:500~1000000。預設值為500。單位為個。

loose_innodb_ttl_purge_start_hour

Global

資料清理(TTL)開始的時間。不得超過innodb_ttl_purge_end_hour

取值範圍為0~23。預設值為0。單位為秒。

loose_innodb_ttl_purge_end_hour

Global

資料清理(TTL)資料結束的時間。不得小於innodb_ttl_purge_start_hour

取值範圍為0~23。預設值為0。單位為秒。

其他功能

參數名稱

層級

參數說明

loose_innodb_polar_log_rdma_transfer

Global

RDMA日誌傳輸功能開關,取值範圍:

  • ON:開啟RDMA日誌傳輸功能。

  • OFF(預設):關閉RDMA日誌傳輸功能。

loose_partial_result_cache_enabled

Global/Session

Partial Result Cache(PTRC)功能開關。取值範圍如下:

  • ON(預設):啟用Partial Result Cache功能。

  • OFF:禁用Partial Result Cache功能。

loose_partial_result_cache_cost_threshold

Global/Session

Partial Result Cache(PTRC)的代價閾值。當單個查詢的整體cost超過該閾值時,才使用PTRC。

取值範圍:0~18446744073709551615。預設值:10000。

loose_partial_result_cache_check_frequency

Global/Session

觸發Partial Result Cache(PTRC)動態反饋檢測的頻率,當累計cache miss的次數達到該值時觸發一次檢測。

取值範圍:0~18446744073709551615。預設值:200。

loose_partial_result_cache_low_hit_rate

Global/Session

Partial Result Cache(PTRC)命中率的低水位閾值。當最佳化器估算的命中率高於此值時才考慮使用PTRC,如果已使用PTRC,動態反饋機制中發現真實命中率低於該值時,將直接放棄繼續使用PTRC。

取值範圍:0~100。預設值:20。

loose_partial_result_cache_high_hit_rate

Global/Session

Partial Result Cache(PTRC)命中率的高水位閾值。當記憶體使用量達到上限並且命中率高於此值時,記憶體緩衝變更為檔案儲存體緩衝,已緩衝的資料也會轉存至檔案中。

取值範圍:0~100。預設值:70。

loose_partial_result_cache_max_mem_size

Global/Session

單個查詢中Partial Result Cache(PTRC)累積記憶體使用量量。一個查詢內部可能有多個PTRC,多個PTRC累計使用的記憶體不能超過該值。

取值範圍:0~18446744073709551615。預設值:67108864。單位:Byte。