Dieser Knoten ermöglicht die Anwendung von Vergleichselementen, die über AND logisch verknüpft sind, auf mehrere Indizes, um die Zugriffe auf die zugrunde liegende Tabelle auf ein Minimum zu reduzieren.
Knotenname: XANDOR
Bedeutung: Die logische Verknüpfung über AND der Ergebnisse von Mehrfachindexsuchen für Index zu XML-Daten, mit deren Hilfe komplexe Vergleichselemente aus einer einzigen Abfrage ausgewertet werden.
Damit der Knoten XANDOR verwendet werden kann, müssen folgende Bedingungen erfüllt sein:
- Es werden nur Gleichheitsvergleichselemente verwendet.
- Der Indexsuchpfad enthält keine Platzhalterzeichen.
- Alle Vergleichselemente werden für dieselbe XML-Spalte verwendet.
Wenn eine dieser Bedingungen nicht erfüllt wird, wird stattdessen der Knoten IXAND verwendet.
Ein Zugriffsplan des Tools db2exfmt, der mehrere Suchen in einem über XANDOR logisch verknüpften Index zu XML-Daten umfasst, könnte wie folgt aussehen:
Rows
RETURN
( 1)
Cost
I/O
|
0.00915933
NLJOIN
( 2)
985.789
98.9779
/--+--\
2.96215 0.00309213
FETCH XSCAN
( 3) ( 11)
340.113 217.976
19 27
/---+---\
2.96215 210000
RIDSCN TABLE: DB2XML
( 4) TPCHX
332.008
18
|
2.96215
SORT
( 5)
331.957
18
|
2.96215
XANDOR
( 6)
331.784
18
+----------------+--------+-------+----------------+
355.62 6996.81 105000 105000
XISCAN XISCAN XISCAN XISCAN
( 7) ( 8) ( 9) ( 10)
165.892 3017.54 1.6473e+06 851554
9 81 27768 14898
| | | |
210000 210000 210000 210000
XMLIN: DB2XML XMLIN: DB2XML XMLIN: DB2XML XMLIN: DB2XML
TPCHX_IDX TPCHX_IDX TPCHX_IDX TPCHX_IDX
Jeder Knoten XISCAN führt eine Indexsuche aus und führt dem Knoten XANDOR die jeweils qualifizierten XML-Knoten-IDs zu. Der Knoten XANDOR wendet die Vergleichselemente AND und OR an und gibt die XML-Knoten zurück, die dem XML-Muster für die Abfrage entsprechen.
Vorschläge zur Leistungsverbesserung: - Im Laufe der Zeit kann ein Index aufgrund von Datenbankaktualisierungen fragmentiert werden, sodass mehr Indexseiten als erforderlich vorhanden sind. Dies kann durch Löschen und erneutes Erstellen des Index oder Reorganisieren des Index korrigiert werden.
- Sind die Statistikdaten nicht aktuell, aktualisieren Sie sie mit dem Befehl RUNSTATS.
- Im Allgemeinen sind Indexsuchen effektiver, wenn sie nur für wenige Zeilen zutreffen. Das Optimierungsprogramm schätzt die Anzahl der zutreffenden Zeilen mithilfe der Statistikdaten, die für die Spalten verfügbar sind, auf die in den Vergleichselementen verwiesen wird. Treten einige Werte häufiger auf als andere, muss die Verteilungsstatistik angefordert werden, indem die Klausel WITH DISTRIBUTION mit dem Befehl RUNSTATS verwendet wird. Das Optimierungsprogramm verwendet die Statistikdaten zur ungleichmäßigen Verteilung und kann so zwischen häufig auftretenden und seltener auftretenden Werten unterscheiden.