MySQL - SET RESOURCE GROUP 語句



在 MySQL 中,您可以建立資源組並將執行緒分配到這些組。這些執行緒根據組中資源的可用性執行,即組屬性控制資源,並且組中的執行緒受可用資源的限制。

MySQL 提供了各種語句來建立、更改、刪除資源組並將執行緒分配到資源組。

SET RESOURCE GROUP 語句

您可以使用 SET RESOURCE GROUP 語句將執行緒設定/分配到現有的 MySQL 資源組。您需要 RESOURCE_GROUP_ADMIN 許可權才能執行該語句。

語法

以下是 MySQL SET RESOURCE GROUP 語句的語法:-

SET RESOURCE GROUP group_name
   [FOR threadID1, threadID2, threadID3, . . . . . . .]

其中,group_name 是您需要將指定執行緒分配到的資源組的名稱,threadID1、threadID2、threadID3 是要分配到該組的執行緒。

如果您沒有使用 FOR 查詢指定執行緒 ID。則當前執行緒將分配到指定的資源組。

示例

假設我們使用 CREATE RESOURCE GROUP 語句建立了一個資源組,如下所示:-

CREATE RESOURCE GROUP test_group TYPE = USER 
VCPU = 0 THREAD_PRIORITY = 2 ENABLE;

以下查詢將上面建立的資源組分配給當前執行緒。

SET RESOURCE GROUP test_group;

如果您嘗試分配一個不存在的資源組,則會生成錯誤,如下所示:-

SET RESOURCE GROUP none;
ERROR 3651 (HY000): Resource Group 'none' does not exist.

FOR 子句

您可以使用 FOR 子句指定要分配給給定資源組的執行緒。

假設我們建立了另一個資源組,如下所示:-

CREATE RESOURCE GROUP test TYPE = USER THREAD_PRIORITY = 15;

以下查詢將特定執行緒設定為上面建立的資源組:-

SET RESOURCE GROUP test FOR 21, 15, 6;
廣告