|
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.