全部產品
Search
文件中心

PolarDB:並行查詢參數說明

更新時間:Jul 23, 2025

本章節介紹了並行查詢功能相關的參數和變數。

並行查詢相關參數

說明

叢集參數在PolarDB控制台上都已加上MySQL設定檔的相容性首碼loose_。如果您需要在PolarDB控制台修改參數,請選擇帶loose_首碼的參數進行修改。

參數名

層級

描述

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_records_threshold_for_parallelism

Session

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

  • 取值範圍:[0-18446744073709551615]。

  • 預設值:10000。

說明

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

loose_cost_threshold_for_parallelism

Session

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

  • 取值範圍:[0-18446744073709551615]。

  • 預設值:50000。

loose_records_threshold_for_mpp

Session

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

  • 取值範圍:[0-18446744073709551615]。

  • 預設為0,含義是自動取值loose_records_threshold_for_parallelism的N倍,N為ePQ叢集的節點個數

loose_cost_threshold_for_mpp

Session

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

  • 取值範圍:[0-18446744073709551615];

  • 預設值為0,含義是自動取值loose_cost_threshold_for_parallelism的N倍,N為節點個數

並行查詢相關變數

變數名

層級

描述

Parallel_workers_created

Global、Session

從Session啟動開始,產生Parallel Worker的個數。

Gather_records

Global、Session

Gather記錄總數。

PQ_refused_over_total_workers

Global、Session

由於總Worker數限制沒有啟用並行的查詢數。

PQ_refused_over_max_queuing_time

Global、Session

由於並行查詢排隊逾時沒有啟動並行的查詢數。

Total_running_parallel_workers

Global

當前正在啟動並執行Parallel Worker的數目。