Eines der DBA-Ziele besteht darin, die Abfragekosten zu senken. Senkung der Abfragekosten verbessert die Gesamtleistung. db2advis empfiehlt Indizes für eine Abfrage.
Ein Syntax- und Prozessbeispiel:
Step 1 – Erstellen Sie die Quelldatei
Fügen Sie eine Abfrage in eine Eingabedatei namens db2dbadvisor.sql ein. Dies ist nur eine Beispielabfrage
select SUBSTR(TBNAME,1,40), SUBSTR(TBCREATOR,1,10),
substr(name,1,30), SUBSTR(CREATOR,1,8),substr(colnames,1,60), firstkeycard, fullkeycard, sequential_pages, density, iid, uniquerule, stats_time, colnames
from sysibm.sysindexes a
ORDER BY tbcreator, TBNAME, NAME;
Step 2 Führen Sie den Befehl db2advis aus
db2advis -d books -i db2dbadvisor.sql -o db2dbadvisor.out
Wenn Sie die Fehlermeldung sehen:
Explain tables not set up properly for schema MYINST
The insert into the ADVISE_INSTANCE table has failed.
0 solutions were evaluated by the advisor
exiting with error code [-219]
Um dieses Problem zu beheben, führe ich aus
db2 -tvf <instance_home>\sqllib\misc\EXPLAIN.DDL
Eine typische Antwort.
Die Benutzer-ID wird als Standardschemaname verwendet. Geben Sie mithilfe der Option -n ein Schema an.
Ausführung bei Zeitmarke 2021-06-17-16.38.49.773103 gestartet.
Es wurden [1] SQL-Anweisungen aus der Eingabedatei gefunden.
Indizes werden empfohlen…
0 Indizes in aktueller Lösung
[110,0000] Timeron (ohne Empfehlungen)
[110,0000] Timeron (mit aktueller Lösung)
[0,00%] Verbesserung
—
—
— LISTE DER EMPFOHLENEN INDIZES
— ===========================
— Für diese Verarbeitungslast werden keine Indizes empfohlen.
—
—
— RECOMMENDED EXISTING INDEXES
— ============================
—
—
— UNUSED EXISTING INDEXES
— ============================
— ===========================
—
— ====ADVISOR DETAILED XML OUTPUT=============
— ==(Benefits do not include clustering recommendations)==
—
–<?xml version="1.0"?>
–<design-advisor>
–<statement>
–<statementnum>0</statementnum>
–<statementtext>
— select SUBSTR(TBNAME,1,40), SUBSTR(TBCREATOR,1,10),
— substr(name,1,30), SUBSTR(CREATOR,1,8),substr(colnames,1,60),
— firstkeycard, fullkeycard, sequential_pages, density,
— iid, uniquerule, stats_time, colnames from sysibm.sysindexes
— a ORDER BY tbcreator, TBNAME, NAME
–</statementtext>
–<objects>
–<identifier>
–<name>SYSINDEXES</name>
–<schema>SYSIBM </schema>
–</identifier>
–</objects>
–<benefit>0,000000</benefit>
–<frequency>1</frequency>
–</statement>
–</design-advisor>
— ====ADVISOR DETAILED XML OUTPUT=============
—
0 Lösungen wurden von der Advisorfunktion ausgewertet.
DB2 Workload Performance Advisor wurde beendet.