29.12.2013 Aufrufe

Fehlerbehebung und Optimieren der Datenbankleistung

Fehlerbehebung und Optimieren der Datenbankleistung

Fehlerbehebung und Optimieren der Datenbankleistung

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.

Die folgenden Szenarios stellen einige <strong>der</strong> Situationen vor, in denen die Erstellung<br />

eines neuen Index mithilfe <strong>der</strong> Spalte CURRENT MEMBER das Auftreten von Konkurrenzsituationen<br />

zwischen Datenbanken verringert. Sobald dieser neue Index erstellt<br />

ist, kann <strong>der</strong> DB2 pureScale-Cluster die Informationen zu den Membernummern<br />

verwenden, um beim Verweisen auf den Tabellenindex den Umfang <strong>der</strong><br />

aktiven gemeinsamen Nutzung zwischen Membern zu verringern. Diese Ressourcenverkleinerung<br />

kann die Geschwindigkeit <strong>und</strong> die Gesamtleistung <strong>der</strong> DB2 pureScale-Umgebung<br />

verbessern.<br />

Einfügungen mit eindeutigen <strong>und</strong> zunehmenden Sequenzwerten <strong>und</strong><br />

Zeitmarken<br />

Eine Zeile in <strong>der</strong> Tabelle kann zum Speichern einer stets zunehmenden Wertesequenz<br />

verwendet werden (z. B. Bestellnummern). Diese Werte können automatisch<br />

als Identitätsspalte o<strong>der</strong> programmgesteuert über eine externe Anwendung generiert<br />

werden. Wenn diese Einfügungen jedoch mit einer erheblichen Häufigkeit auftreten,<br />

treten möglicherweise Konkurrenzsituationen auf, die die Durchführung<br />

von Benutzerabfragen verlangsamen.<br />

Zum Verbessern <strong>der</strong> Abfrageleistung können Sie die neue Spalte CURRENT MEM-<br />

BER erstellen <strong>und</strong> diese Daten anschließend zusammen mit <strong>der</strong> Spalte indizieren,<br />

in <strong>der</strong> die Sequenz gespeichert ist.<br />

1. Fügen Sie die neue Spalte zum Speichern <strong>der</strong> Membernummer hinzu:<br />

ALTER TABLE or<strong>der</strong>number<br />

ADD COLUMN curmem SMALLINT DEFAULT CURRENT MEMBER IMPLICITLY HIDDEN<br />

2. Erstellen (o<strong>der</strong> löschen <strong>und</strong> neuerstellen) Sie den Index für die Sortierspalte (in<br />

diesem Beispiel seqnumber), indem Sie dem Index die neue Spalte hinzufügen:<br />

CREATE INDEX seqindex<br />

ON or<strong>der</strong>number (curmem, seqnumber)<br />

Eine ähnliche Methode kann für Datenbankentwürfe verwendet werden, in denen<br />

die Sequenz eine Reihe von Zeitmarkenwerten ist. Der Index für die Zeitmarkenspalte<br />

würde die Option PAGE SPLIT HIGH verwenden <strong>und</strong> ebenfalls die neue<br />

Spalte CURRENT MEMBER einschließen.<br />

Indizes mit nur wenigen eindeutigen Werten<br />

Einige Tabellen weisen möglicherweise Spalten mit nur wenigen unterschiedlichen<br />

Werten auf, die im Verhältnis zur Anzahl <strong>der</strong> Zeilen in <strong>der</strong> Tabelle stehen. Dies ist<br />

ein weiterer Fall, in dem das Hinzufügen <strong>der</strong> Spalte CURRENT MEMBER von Vorteil<br />

sein kann:<br />

Gehen Sie in diesem Fall wie folgt vor, um die <strong>Datenbankleistung</strong> zu verbessern:<br />

1. Fügen Sie die neue Spalte zum Speichern <strong>der</strong> Membernummer hinzu:<br />

ALTER TABLE customerinfo<br />

ADD COLUMN curmem SMALLINT DEFAULT CURRENT MEMBER IMPLICITLY HIDDEN<br />

2. Erstellen (o<strong>der</strong> löschen <strong>und</strong> neuerstellen) Sie den Index für die Spalte(n), die<br />

die wenigen unterschiedlichen Werte enthält/enthalten (z. B. zipcode <strong>und</strong><br />

country):<br />

CREATE INDEX lowvaridx<br />

ON customerinfo (zipcode, country, curmem)<br />

In allen diesen Fällen führt die Indexkomprimierung wahrscheinlich zu einer Verringerung<br />

<strong>der</strong> Indexgröße für die neuen CURRENT MEMBER-Werte.<br />

Kapitel 3. Faktoren mit Auswirkung auf die Leistung 87

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!