워크로드를 정의하는 XML 파일 스펙에는 다음 요소가 포함됩니다.
SQL문의 텍스트에서 일반적으로 사용되는 특정 기호가 XML에서는 유효하지 않은 문자입니다. 아래 표에 표시된 해당 엔티티로 바꿔야 합니다.
| 바꿔야 하는 기호 | 사용할 엔티티 참조 |
|---|---|
| < | < |
| > | > |
| ' | ' |
| " | " |
| & | & |
다음 XML 파일 예제에서는 세 개의 SQL문을 포함하는 워크로드를 작성합니다.
<workload desc="test workload">
<source name="DB01 2007/11/06 - Source0">
<source_detail condition="QUALIFIER" operator="=" value="SYSADM"/>
<statement>
<statement_text qualifier="SYSIBM">SELECT * FROM SYSTABLES WHERE NAME
= 'PART'
</statement_text>
<statement_runtime stat_exec="2" stat_cpu="0.1" stat_elap="0.2"/>
</statement>
<statement>
<statement_text>SELECT
SUM(PS_SUPPLYCOST) * AVG(P_SIZE * PS_AVAILQTY / 2) AS SupplyRatio_Expr_Operators,
O_ORDERSTATUS || O_ORDERPRIORITY AS Key_Expr_CONCAT
FROM PART, ORDER, PARTSUPP
WHERE O_TOTALPRICE BETWEEN (2 * (SELECT MIN(P_RETAILPRICE) FROM PART))
AND (0.5 * (SELECT MAX(P_RETAILPRICE) FROM PART))
AND O_SHIPPRIORITY IN (1, 2, 3)
AND O_CLERK LIKE 'clerk&888%'
AND O_SHIPPRIORITY - 1 >= 3
AND O_SHIPPRIORITY - 1 >= 1
AND P_PARTKEY = PS_PARTKEY
GROUP BY PS_SUPPLYCOST, P_SIZE, PS_AVAILQTY, O_ORDERSTATUS, O_ORDERPRIORITY
ORDER BY PS_SUPPLYCOST, P_SIZE, PS_AVAILQTY, O_ORDERSTATUS, O_ORDERPRIORITY
</statement_text>
<statement_runtime stat_exec="5" stat_cpu="0.2" stat_elap="0.4"/>
</statement>
<statement>
<statement_text>SELECT
XML2CLOB(XMLELEMENT(NAME "LITMLINEITEM",
XMLAGG(XMLELEMENT(NAME "bo:lineItem",
XMLNAMESPACES('urn:bo' AS "bo"), LINEITEM.L_ORDERKEY)
ORDER BY LINEITEM.L_ORDERKEY)) ) AS "xmlLITMLINEITEM"
FROM LINEITEM
</statement_text>
</statement>
</source>
</workload>