CREATE WORK CLASS SET 陳述式
CREATE WORK CLASS SET 陳述式定義工作類別集。
呼叫
此陳述式可以內嵌在應用程式中,或以互動方式發出。 它是可執行的陳述式,只有在 DYNAMICRULES 執行行為對套件有效時才能動態準備 (SQLSTATE 42509)。
授權
陳述式授權 ID 所保留的專用權必須包括 WLMADM 或 DBADM 權限。
語法
說明
- work-class-set-name
- 為工作類別集命名。 這是一個單部分名稱。 它是 SQL ID (一般或定界)。 work-class-set-name 不能識別現行伺服器上已存在的工作類別集 (SQLSTATE 42710)。 名稱不得以字元 'SYS' 開頭 (SQLSTATE 42939)。 work-class-definition
- 指定工作類別的定義。
- WORK CLASS work-class-name
- 為工作類別命名。 work-class-name 不能識別現行伺服器上的工作類別集內已存在的工作類別 (SQLSTATE 42710)。 work-class-name 不能以 'SYS' 開頭 (SQLSTATE 42939)。 工作屬性
- 如果資料庫活動要與此工作類別相關聯,則該活動的屬性必須符合此工作類別中指定的所有屬性。
- 工作類型
- 指定資料庫活動的類型。
- READ
- 此活動包括下列陳述式:
- 不包含 DELETE、INSERT、 MERGE 或 UPDATE 陳述式以及所有 VALUES INTO 陳述式的所有 SELECT 或 SELECT INTO 陳述式
- 所有 XQuery 陳述式
- WRITE
- 此活動包括下列陳述式:
- 更新
- 刪除
- 插入
- MERGE
- 包含 DELETE、INSERT 或 UPDATE 陳述式的所有 SELECT 陳述式,以及所有 VALUES INTO 陳述式
- CALL
- 併入 CALL 陳述式。 對於工作類型為 CALL 或 ALL 的工作類別,會考量 CALL 陳述式。
- DML
- 併入列在 READ 和 WRITE 之下的陳述式。
- DDL
- 此活動包括下列陳述式:
- ALTER
- 建立
- 註解
- DECLARE GLOBAL TEMPORARY TABLE
- DROP
- 清除套件快取
- GRANT
- REFRESH TABLE
- RENAME
- REVOKE
- SET INTEGRITY
- LOAD
- Db2® 載入作業。
- ALL
- 所有可辨識的工作量管理 (WLM) 活動,屬於先前在 WORK TYPE說明內列出的任何一個關鍵字。
- FOR
- 指出在 FROM from-value TO to-value 子句中指定的資訊類型。 FOR 子句僅用於下列工作類型:
- ALL
- DML
- READ
- WRITE
- TIMERONCOST
- 工作的預估成本 (以 timeron 為單位)。 此值用來判定工作是否落在 FROM from-value TO to-value 子句中指定的範圍內。
- 基數
- 工作的預估基數。 此值用來判定工作是否落在 FROM from-value TO to-value 子句中指定的範圍內。
- FROM from-value TO UNBOUNDED 或 FROM from-value TO to-value
- 指定 timeron 值 (用於預估成本) 或基數的範圍,如果資料庫活動要成為此工作類別的一部分,則資料庫活動必須落在該範圍內。 範圍包含 from-value 和 to-value。 如果未針對工作類別指定此子句,則將包括落在指定工作類型內的所有工作 (亦即,預設值為 FROM 0 TO UNBINBINDED)。 此範圍僅用於下列工作類型:
- ALL
- DML
- READ
- WRITE
- FROM from-value TO UNBOUNDED
- 來源值 必須是零或正 DOUBLE 值 (SQLSTATE 5U019)。 範圍沒有上限。
- FROM from-value TO to-value
- from-value 必須是零或正 DOUBLE 值,且 to-value 必須是正 DOUBLE 值。 from-value 必須小於或等於 to-value (SQLSTATE 5U019)。
- DATA TAG LIST CONTAINS integer-constant
- 指定提供給資料庫活動可能接觸之任何資料的標籤值 (如果它是這個工作類別的一部分)。 如果未針對工作類別指定子句,則將包括所有落在所指定工作類型內的工作,而不論它可能接觸的資料為何 (亦即,預設值是忽略資料標籤)。 只有在工作類型為 READ、WRITE、DML 或 ALL ,且資料庫活動是 DML 陳述式時,才會使用此子句。 整數常數 的有效值為 1 到 9 之間的整數。 綱目子句
- 綱目中的常式 綱目名稱
- 指定 CALL 陳述式將呼叫之程序的綱目名稱。 只有在工作類型是 CALL 或 ALL ,且資料庫活動是 CALL 陳述式時,才會使用此子句。 如果未指定任何值,則會併入所有綱目。
position-clause - 位置
- 指定在工作類別集中放置這個工作類別的位置,以決定評估工作類別的順序。 在執行時期執行工作類別指派時,資料庫管理程式會先決定與物件 (資料庫或服務超類別) 相關聯的工作類別集。 然後會選取該工作類別集內第一個相符的工作類別。 如果未指定此關鍵字,則工作類別會置於最後一個位置。
- 最後一個
- 指定將工作類別放在工作類別集內依序工作類別清單的最後一個。 這是預設值。
- 在 work-class-name 之前
- 指定將工作類別放在清單中工作類別 work-class-name 之前。 work-class-name 必須識別存在於現行伺服器的工作類別集中的工作類別 (SQLSTATE 42704)。
- AFTER work-class-name
- 指定要在清單中的工作類別 work-class-name 之後放置工作類別。 work-class-name 必須識別存在於現行伺服器的工作類別集中的工作類別 (SQLSTATE 42704)。
- AT 位置
- 指定工作類別要放在工作類別排序清單中的工作類別集內的絕對位置。 此值可以是任何正整數 (非零) (SQLSTATE 42615)。 如果 position 大於現有工作類別的數目加 1 ,則工作類別會放置在工作類別集內的最後一個位置。
規則
- 工作量管理 (WLM)-專用 SQL 陳述式後面必須接著 COMMIT 或 ROLLBACK 陳述式 (SQLSTATE 5U021)。 WLM 專用 SQL 陳述式為:
- CREATE HISTOGRAM TEMPLATE、ALTER HISTOGRAM TEMPLATE 或 DROP (HISTOGRAM TEMPLATE)
- CREATE SERVICE CLASS、ALTER SERVICE CLASS 或 DROP (SERVICE CLASS)
- CREATE THRESHOLD、ALTER THRESHOLD 或 DROP (THRESHOLD)
- CREATE WORK ACTION SET、ALTER WORK ACTION SET 或 DROP (WORK ACTION SET)
- CREATE WORK CLASS SET、ALTER WORK CLASS SET 或 DROP (WORK CLASS SET)
- CREATE WORKLOAD、ALTER WORKLOAD 或 DROP (WORKLOAD)
- GRANT(工作量專用權)或 REVOKE(工作量專用權)
- 無法在廣域交易 (SQLSTATE 51041) 內發出 WLM 專用 SQL 陳述式,例如 XA 交易。
注意事項
- 變更會寫入系統型錄,但 在確定它們之前不會生效,即使發出陳述式的連線也是如此。
- 在所有分割區中,一次只容許一個未確定的 WLM 專用 SQL 陳述式。 如果正在執行未確定的 WLM 專用 SQL 陳述式,則後續的 WLM 專用 SQL 陳述式會等待直到現行 WLM 專用 SQL 陳述式確定或回復為止。
範例
- 範例 1: 建立名為 LARGE_QUERIES 的工作類別集,其具有一組工作類別,代表預估成本大於 9999 且預估基數大於 1000 的所有 DML。
CREATE WORK CLASS SET LARGE_QUERIES (WORK CLASS LARGE_ESTIMATED_COST WORK TYPE DML FOR TIMERONCOST FROM 9999 TO UNBOUNDED, WORK CLASS LARGE_CARDINALITY WORK TYPE DML FOR CARDINALITY FROM 1000 TO UNBOUNDED) - 範例 2: 建立名為 DML_SELECTS 的工作類別集,其工作類別代表不含 DELETE、INSERT、 MERGE 或 UPDATE 陳述式的所有 DML SELECT 陳述式。
CREATE WORK CLASS SET DML_SELECTS (WORK CLASS SELECT_CLASS WORK TYPE READ)
