 |
Analyse von zeitkritischen Datenbank-Kommandos im Datenbanksystem Informix |
Zurück |
Im Eingabemonitor des Programms isql, bzw. dbaccess wird vor dem eigentlichen zeitkritischen Kommando die Zeile set explain on eingefügt. Nach der Ausführung des
Kommandos entsteht im aktuellen Verzeichnis die Datei sqexplain.out. Jede Erläuterung wird im Weiteren an diese Datei an das Ende hinzugefügt.
QUERY:
select
name,gruppe,datum
from br
where gueltig_bis = 0
Estimated Cost: 419
Estimated # of Rows Returned: 115
1) ifas.br: SEQUENTIAL SCAN
Filters: ifas.br.gueltig_bis = 0
In diesem Fall wird die Tabelle br sequentiell durchsucht, um alle benötigten Spalten zu erhalten. Bei sehr großen Tabellen, wie z.B. der
Betriebsstättendaten Tabelle bs sollte die Suchmethode SEQUENTIAL SCAN nicht vorkommen, da sonst extrem große Zugriffzeiten die Folge sein können.
Bei Laufzeitproblemen sollte das Vorhandensein aller notwenigen Indices (Dokumentation in der Datei db.xls) überprüft werden.
Weiterhin ist es notwendig in regelmäßigen Abständen die Statistikdaten der Datenbank manuell auf den aktuellen Stand zu bringen. Das Kommando update
statistics bzw. update statistics for table <Tabellenname> kann die Laufzeit einzelner Kommandos wesentlich erhöhen.