CREATE WORK CLASS SET 陳述式

CREATE WORK CLASS SET 陳述式定義工作類別集。

呼叫

此陳述式可以內嵌在應用程式中,或以互動方式發出。 它是可執行的陳述式,只有在 DYNAMICRULES 執行行為對套件有效時才能動態準備 (SQLSTATE 42509)。

授權

陳述式授權 ID 所保留的專用權必須包括 WLMADM 或 DBADM 權限。

語法

Read syntax diagramSkip visual syntax diagramCREATE WORK CLASS SETwork-class-set-name (,work-class-definition)
work-class-definition
Read syntax diagramSkip visual syntax diagramWORK CLASSwork-class-name work-attributesposition-clause
work-attributes
Read syntax diagramSkip visual syntax diagramWORK TYPEREADfor-from-to-clausedata-tag-clauseWRITEfor-from-to-clausedata-tag-clauseCALLschema-clauseDMLfor-from-to-clausedata-tag-clauseDDLLOADALLfor-from-to-clauseschema-clausedata-tag-clause
for-from-to-clause
Read syntax diagramSkip visual syntax diagram FOR TIMERONCOSTCARDINALITYFROMfrom-valueTOUNBOUNDEDTOto-value
data-tag-clause
Read syntax diagramSkip visual syntax diagram DATA TAG LIST CONTAINS  integer-constant
schema-clause
Read syntax diagramSkip visual syntax diagramROUTINES IN SCHEMAschema-name
position-clause
Read syntax diagramSkip visual syntax diagramPOSITION LASTPOSITION BEFOREwork-class-namePOSITION AFTERwork-class-namePOSITION ATposition

說明

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-valueto-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)