XML-Dateien, die das InfoSphere Optim Query Workload Tuner-Schema für unter DB2 for z/OS ausgeführte Abfrageworkloads verwenden

Sie können eine XML-Datei erstellen und mit dieser Datei eine angepasste Workload erstellen.

Die Spezifikation für die XML-Datei, die eine Workload definiert, umfasst die folgenden Elemente:

workload
Das Element workload ist das Stammelement, d. h., eine gültige Datei enthält nur ein einziges Element workload.
source
Das Element source ist das untergeordnete Element des Elements workload. Ein Element workload kann mehrere Elemente source haben. Das Attribut name enthält einen eindeutigen Namen für jedes Element source. Wird kein Element source angegeben, wird die Workload als Workload mit einer Textquelle betrachtet.
source_detail
Das Element source_detail ist ein untergeordnetes Element des Elements source.
statement
Das Element statement ist ein untergeordnetes Element des Elements source. Jedes Element statement stellt eine einzelne SQL-Anweisung in der Workload dar. Jedes Element source kann mehrere Elemente statement enthalten.
statement_text
Das Element statement_text, das den Text der SQL-Anweisung enthält, ist ein untergeordnetes Element des Elements statement. Ein Element statement kann nicht mehrere Elemente statement_text enthalten. Das Attribut qualifier gibt das Qualifikationsmerkmal der Anweisung an. Wenn das Attribut qualifier nicht angegeben wird, wird das im Element source_detail angegebene Attribut qualifier verwendet. Wenn auch dieses Attribut nicht angegeben ist, wird die aktuelle Benutzer-ID als das Qualifikationsmerkmal der Anweisung verwendet.

Bestimmte Symbole, die häufig im Text von SQL-Anweisungen vorkommen, sind in XML ungültige Zeichen. Sie müssen diese Symbole mit den entsprechenden Entitäten wie in folgender Tabelle gezeigt ersetzen.

Tabelle 1. XML-Entitäten für gängige Symbole in SQL-Anweisungen
Zu ersetzendes Symbol Zu verwendender Entitätsverweis
< &lt;
> &gt;
' &apos;
" &quot
& &amp;
statement_runtime
Das Element statement_runtime ist ein untergeordnetes Element des Elements statement. Ein Element statement kann nicht mehrere Elemente statement_runtime enthalten. Ein Element statement_runtime kann beliebige der folgenden Attribute enthalten:
stat_exec
Gibt an, wie oft die Anweisung ausgeführt worden ist.
stat_cpu
Gibt die aufgelaufene CPU-Zeit in Sekunden an.
stat_elap
Gibt die insgesamt abgelaufene Zeit in Sekunden an.

Die folgende XML-Beispieldatei erstellt eine Workload, die drei SQL-Anweisungen enthält.

<workload desc="Testworkload">
<source name="DB01 2007/11/06 - Source0">
<source_detail condition="QUALIFIER" operator="=" value="SYSADM"/> 
<statement>
<statement_text qualifier="SYSIBM">SELECT * FROM SYSTABLES WHERE NAME 
 = &apos;PART&apos;
</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 &apos;clerk&amp;888%&apos;
AND O_SHIPPRIORITY - 1 &gt;= 3
AND O_SHIPPRIORITY - 1 &gt;= 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 &quot;LITMLINEITEM&quot;,
         XMLAGG(XMLELEMENT(NAME &quot;bo:lineItem&quot;,
         XMLNAMESPACES(&apos;urn:bo&apos; AS &quot;bo&quot;), LINEITEM.L_ORDERKEY)
         ORDER BY LINEITEM.L_ORDERKEY)) ) AS &quot;xmlLITMLINEITEM&quot;
FROM LINEITEM
</statement_text>
</statement>
</source>
</workload>

Feedback