Query Optimierung bei DB2 auf E-Server


[ ruban.de ] [ Antworten ] [ Forum ]

Geschrieben von Matthias on März 12, 2002 um 14:30:

Access97 + ODBC + DB2 (E-Server)

Ich bin gerade bei der Migration einer reinen Access
Anwendung nach DB2(E-Server). Ich weis, daß wenn man bei einem Datenbankserver
einen Index definiert, der Query-Optimizer den Index verwenden kann, wenn in einem UPDATE-Statement
die ersten n-Felder des Index enthalten ist. In meinem Fall ergibt sich aber erst eine Performanceverbesserung,
wenn ich den Index so anlege, daß ich alle Felder des Index im WHERE-Teil habe.

Weil mich das verwundert hat, habe ich diese Situation in einer Access-Newsgroup gepostet.
Mir hat dann jemand geantwortet, daß die AS/400 gar keinen Query-Optimizer hat.
Man muß dann neben den physischen Dateien (Tabellen) logische Dateien (VIEWS) anlegen.
Der Programmierer ist dann selbst für die Verwendung der passenden Tabellen bzw. Views
verantwortlich. Für Access heißt das, daß ich die passenden Views als Tabellen einbinden muß. Dafür kann man aber beliebig viele Views anlegen und hat nicht wie bei anderen
Datenbanksystemen das Problem, daß mit immer mehr Indizes natürlich das Einfügen von Datensätzen
langsamer wird.

Nun ist die Sache die, daß ich wie oben geschildert einen Performancegewinn habe, wenn
ich den Index verkleinere. Daraus folgt, daß es doch so etwas wie einen Optimizer geben muß???

Kann es sein, daß Indizes bei DB2 (AS400 bzw. E-Server) erst bei späteren
Versionen hinzugefügt wurden. Wenn ich mir nämlich andere existierende Bibliotheken anschaue,
die in dem Unternehmen schon lange im Einsatz sind, so finde ich dort Tabellen und sehr viele
Views. Ich finde aber keinen einzigen Index.

Sollte ich bei der Programmentwicklung eher so vorgehen, daß ich bei ungenügender Performance
eine VIEW anlege und diese dann verwende, oder soll ich eher versuchen einen passenden Index anzulegen?

In dem Diskussionsbeitrag wurde auch beschrieben, daß das Einfügen eines Datensatzes schneller über
eine View geht (kein full table scan notwendig). Stimmt das und wie genau muß ich dann die View anlegen?

-> es ist jetzt leider ein pisschen viel an Fragen geworden -> hoffentlich hält es nicht davor ab, mir
weiterzuhelfen ;-)

Matthias





Antworten:


Schreibe eine Antwort

Name:   
E-Mail:  

Thema:

Kommentar:

Optionale Link URL:   
Link Titel:                  
Optionale Image URL:


[ Antworten ] [ Forum ]