11.07.2015 Aufrufe

Wendig statt aufwendig - Midrange Magazin

Wendig statt aufwendig - Midrange Magazin

Wendig statt aufwendig - Midrange Magazin

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

TECHNIK & INTEGRATIONAber das Verhalten ändert sich sofort,wenn ich auch die variabel langenSpalten im Result Set benötige oder inden lokalen Selektionskriterien verwende(Bild 6): Jetzt ändern sich dieAusführungszeiten deutlich! Aufgrundder Zugriffe auf den Overflowbereichbenötigt die Abfrage mit den VARCHAR-Tabellen jetzt – wie vom Optimizer kalkuliert– die doppelte Ausführungszeit.6 lange Zeichenspalten 7 LaufzeitinformationenNoch deutlicher sind die Nachteile zuerkennen, wenn Sie sich die Laufzeitinformationenansehen (Bild 7): ZusätzlicheDaten müssen aus dem Overflowbereichgeladen werden. Daher diedoppelte Anzahl I/O-Operationen. Undnoch eines fällt auf. Die Tabelle mit denvariabel langen Zeichenfelddefinitionenbenötigt für die Ausführung deutlichmehr Arbeitsspeicher. In meiner Testumgebungspielt das keine Rolle, da eskeine konkurrierenden SQL-Abfragengibt und immer genügend Hauptspeicherverfügbar ist. Wie sieht es aber aufIhrem System aus?Bei den bisherigen Abfragen handeltees sich um sehr einfache SQL-Statements. Außerdem waren stetsdie optimalen Indizes vorhanden. Waspassiert, wenn die Abfragen komplexerwerden und vielleicht nicht der optimaleIndex vorhanden ist? Schauen wiruns ein weiteres Beispiel an:8Veränderte Ausführungspläneselect flbez, kdnam1, annnam, kdstr,himed, hitextfrom HIST(HISTVAR) join KDST(KDSTVAR)on kdkdnr = hikdnrjoin FLST(FLSTVAR) on hiflnr = flnrjoin anst00 on hiannr = anannrwhere Himed = 'E‐Mail' order by annnam;Nur drei der Tabellen enthalten variabellange Character-Spalten. Die TabelleANST00 hat feste Längendefinitionen.Das Ergebnis überrascht ein weiteresMal. Bisher hatten alle Vergleichsabfragenstets identische Ausführungspläne.Dies ändert sich jetzt (Bild 8): Die SQL-Engine versucht, I/O-Operationen fürTabellen, die VARCHAR-Spalten enthalten,zu reduzieren und entscheidet sichaus diesem Grund für eine nicht nachzuvollziehendeVerknüpfungsfolge, umdie Methode „Table Scan“ für die größteder Tabellen zu umgehen.Carmen Rasche óclick towww.midrange.deDen vollständigen Artikel finden Sie inunserer aktuellen Online-Ausgabe.38MIDRANGE MAGAZIN · 11/2010

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!