AnalyticDB for MySQL的PlanCache功能可以緩衝SQL的執行計畫,執行相同SQL Pattern語句時會使用緩衝的執行計畫,從而減少SQL的編譯最佳化時間,提升系統的查詢效能。本文介紹如何開啟PlanCache功能以及PlanCache功能的使用樣本。
前提條件
叢集核心版本需為3.1.10.0及以上版本。
說明
請在雲原生資料倉儲AnalyticDB MySQL控制台集群資訊頁面的配寘資訊地區,查看和升級核心版本。
背景資訊
當查詢的並發數很高時,SQL的編譯最佳化時間會成為系統效能的瓶頸,PlanCache功能將SQL的執行計畫緩衝後,後續相關的SQL語句會直接使用緩衝的執行計畫,從而減少SQL的編譯最佳化時間,提升系統的查詢效能。
目前PlanCache功能僅適用於高並發點查情境,非點查情境不推薦使用。
開啟或關閉PlanCache功能
PlanCache功能預設關閉,您可以通過下列命令開啟或關閉PlanCache功能。
開啟PlanCache功能:
SET ADB_CONFIG O_SPC_SCOPE=POINT_QUERY;關閉PlanCache功能:
SET ADB_CONFIG O_SPC_SCOPE=NONE;
使用樣本
假設您有以下高並發點查請求:
SELECT * FROM tbl0 WHERE col0 = ?;開啟PlanCache功能,命令如下:
SET ADB_CONFIG O_SPC_SCOPE=POINT_QUERY;執行SQL查詢語句,該語句的執行計畫將被緩衝:
SELECT * FROM tbl0 WHERE col0 = 666;執行相同SQL Pattern語句時,會自動使用步驟2緩衝的執行計畫,減少SQL編譯最佳化時間:
SELECT * FROM tbl0 WHERE col0 = 777;