30.08.2013 Aufrufe

Green-IT und Datenbanken - ODBMS

Green-IT und Datenbanken - ODBMS

Green-IT und Datenbanken - ODBMS

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.

6.2 Energieeffizienz <strong>und</strong> Indizes<br />

Für jede ID wird eine Zeile in eine temporäre Datei B geschrieben, die nach l_shipmode<br />

<strong>und</strong> dem Primärschlüssel indiziert ist <strong>und</strong> die den Datensatz für l_orderkey beinhaltet.<br />

Add a row to temp-file B, subscripted by %SQLUPPER(L_SHIPMODE) and ID,<br />

with node data of L_ORDERKEY.<br />

Die Datei B wird an Modul D übergeben, dass eine Iteration über l_shipmode <strong>und</strong><br />

der ID ausführt.<br />

Read temp-file B, looping on %SQLUPPER(L_SHIPMODE) and ID.<br />

In der Iteration wird in jedem Schritt mit Hilfe des Primärschlüssels von orders überprüft,<br />

ob o_orderkey gleich l_orderkey ist.<br />

Read master map SQLUser.ORDERS.ORDERSPRIMARYIDX,<br />

using the given idkey value.<br />

Die folgenden Operationen sind identisch zu denen, die im Abfrageplan 6.1 ohne zusätzlichen<br />

Index ausgeführt werden. Es ist ersichtlich, dass die Iteration über der<br />

Tabelle lineitem aus dem Abfrageplan ohne Index 6.1 nicht mehr vorhanden ist, falls<br />

ein Index auf l_receiptdate angelegt wird. Die Operation, die wir als kostenintensiv<br />

klassifiziert haben, wurde durch eine Iteration auf dem zusätzlich angelegten Index<br />

ersetzt.<br />

Alle Abfragen wurden nach diesem Muster analysiert. Der Fokus lag auf WHERE-<br />

Bedingungen, die eingegrenzte Werte beinhalten. Spalten, die in dieses Muster passen,<br />

haben wir als mögliche Kandidaten für einen zusätzlichen Index angesehen. Diese<br />

Spalten wurden auf ihre Selektivität hin untersucht, bei Spalten mit niedriger Selektivität<br />

haben wir einen zusätzlichen Index für die Spalte angelegt.<br />

Im Folgenden ist ein Auszug von eingrenzenden Bedingungen bei den TPC-H Abfragen:<br />

l_shipdate ToDate(’1995-03-15’,’YYYY-MM-DD’)<br />

o_orderdate >= ToDate(’1993-07-01’,’YYYY-MM-DD’)<br />

o_orderdate < DateAdd(’m’,3,’1993-07-01’)<br />

o_orderdate >= ToDate(’1994-01-01’,’YYYY-MM-DD’)<br />

o_orderdate < DateAdd(’yyyy’,1,’1994-01-01’)<br />

l_shipdate >= ToDate(’1994-01-01’,’YYYY-MM-DD’)<br />

l_shipdate < DateAdd(’yyyy’,1,’1994-01-01’)<br />

l_shipdate between ToDate(’1995-01-01’,’YYYY-MM-DD’)<br />

ToDate(’1996-12-31’,’YYYY-MM-DD’)<br />

93

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!