Komprimieren von Daten mithilfe des LOAD-Dienstprogramms

Anfang der ÄnderungFL 509 Sie können LOAD verwenden, um Daten in einem Tabellenbereich oder einer Partition zu komprimieren, die mit Komprimierung definiert ist. Mit Komprimierung definiert bedeutet, dass der Tabellenbereich oder die Partition mit COMPRESS YES, COMPRESS YES FIXEDLENGTH oder COMPRESS YES HUFFMAN definiert wurde. Ende der Änderung

LOAD erstellt ein Kompressionswörterbuch. Nach der Erstellung des Wörterbuchs werden die Daten beim Laden komprimiert. Wenn bereits ein Kompressionswörterbuch vorhanden ist, können Sie angeben, dass LOAD kein neues erstellen soll. Alternativ können Sie das Dienstprogramm REORG TABLESPACE ausführen, um Ihre Daten zu komprimieren.

Vorbereitende Schritte

Anfang der ÄnderungIhr Tabellenbereich oder Partition in einem partitionierten Tabellenbereich muss mit Komprimierung definiert werden, bevor Sie die Daten mithilfe von LOAD komprimieren können.Ende der Änderung

Informationen zu dieser Task

LOAD erstellt ein Komprimierungswörterbuch, während Datensätze geladen werden. Die Daten werden erst komprimiert, wenn das Wörterbuch erstellt wurde. Um Bearbeitungskosten zu sparen, wird die ursprüngliche LOAD nicht zurückgesendet, um die Datensätze zu komprimieren, die zum Erstellen des Wörterbuchs verwendet wurden. Nachdem das Wörterbuch erstellt wurde, werden die restlichen Daten beim Laden komprimiert.

Die Anzahl der Datensätze, die für die Erstellung eines Wörterbuchs erforderlich sind, hängt von der Häufigkeit der Muster in den Daten ab. Bei großen Datensätzen wird ein kleiner Prozentsatz der Gesamtzahl der Zeilen für die Erstellung des Wörterbuchs verwendet. Um die besten Komprimierungsergebnisse zu erzielen, erstellen Sie bei jedem Laden der Daten ein neues Wörterbuch. Wenn für eine Tabelle "DATA CAPTURE CHANGES" aktiv ist, wird jedes zuvor vorhandene Wörterbuch in das Protokoll geschrieben.

Für Partition-by-Growth-Tabellenbereiche erstellt das Dienstprogramm ein Wörterbuch und dieselbe Wörterbuchseite wird in allen Partitionen ausgefüllt.

Anfang der ÄnderungBei XML-Tabellenbereichen, die mit Komprimierung definiert sind, erfolgt die Komprimierung erst, wenn das Dienstprogramm REORG TABLESPACE zum ersten Mal auf diesem Tabellenbereich ausgeführt wird.Ende der Änderung

Prozedur

So komprimieren Sie Daten mit dem LOAD-Dienstprogramm:

  • Wenn noch kein Komprimierungswörterbuch vorhanden ist oder Sie ein neues erstellen möchten, geben Sie die Optionen REPLACE, RESUME NO oder RESUME YES in der LOAD-Anweisung wie folgt an:
    Ersetzen
    Für einfache Tabellenbereiche müssen Sie LOAD REPLACE angeben, um neue Komprimierungswörterbücher zu erstellen. Wenn Sie für einen einfachen Tabellenbereich "RESUME YES" oder "RESUME NO" angeben, behält LOAD das vorhandene Wörterbuch bei, falls vorhanden. Alternativ können Sie REORG TABLESPACE ausführen.
    NEIN
    Wenn Sie "RESUME NO" angeben, muss der Tabellenbereich leer sein.
    JA ZURÜCK
    Wenn Sie RESUME YES angeben und SHRLEVEL NONE explizit oder implizit angegeben wird, erstellt LOAD ein Wörterbuch, wenn der Tabellenbereich leer ist. Wenn Sie "RESUME YES SHRLEVEL CHANGE" angeben, erstellt LOAD ein Wörterbuch, wenn die Datenmenge im Tabellenbereich einen Schwellenwert erreicht, der durch Db2.
  • Wenn Sie zum Komprimieren der Daten ein vorhandenes Komprimierungswörterbuch verwenden möchten, geben Sie in der LOAD-Anweisung die Option KEEPDICTIONARY an.

    Alternativ können Sie REORG TABLESPACE mit der Option KEEPDICTIONARY ausführen, um die Daten zu komprimieren. REORG TABLESPACE mit KEEPDICTIONARY ist effizient, da die Daten dabei nicht dekomprimiert werden. REORG TABLESPACE mit KEEPDICTIONARY generiert jedoch keinen Komprimierungsbericht. Um diese Informationen zu erhalten, führen Sie RUNSTATS aus, um die Katalogstatistiken zu aktualisieren, und fragen Sie dann die Katalogspalten selbst ab.

    Ein Vorteil der Wiederverwendung eines vorhandenen Komprimierungswörterbuchs besteht darin, dass die Verarbeitungszeit des Dienstprogramms für die Erstellung des Wörterbuchs entfällt. In folgenden Situationen sollten Sie in Erwägung ziehen, KEEPDICTIONARY in der LOAD-Anweisung anzugeben:

    • Wenn Sie mit der Kompression zufrieden sind, die durch ein vorhandenes Wörterbuch erzielt wird.
    • Wenn das letzte Wörterbuch von REORG TABLESPACE erstellt wurde. Die Stichprobenmethode REORG TABLESPACE kann repräsentativere Wörterbücher als LOAD liefern und somit zu einer besseren Komprimierung führen.
    • Wenn sich die Daten seit der Erstellung des letzten Wörterbuchs nicht wesentlich geändert haben.

    Sie können auch KEEPDICTIONARY für bestimmte Partitionen eines partitionierten Tabellenbereichs angeben. In diesem Fall hat jede Partition ihr eigenes Wörterbuch.

    Die folgende LOAD-Anweisung verwendet ein vorhandenes Komprimierungswörterbuch erneut:

    LOAD DATA
      REPLACE KEEPDICTIONARY
      INTO TABLE DSN8C10.DEPT
      ( DEPTNO    POSITION (1)     CHAR(3),
        DEPTNAME  POSITION (5)     VARCHAR,
        MGRNO     POSITION (37)    CHAR(6),
        ADMRDEPT  POSITION (44)    CHAR(3),
        LOCATION  POSITION (48)    CHAR(16) )
      ENFORCE NO
  • Wenn Sie ein anderes Komprimierungswörterbuch von einer vorhandenen Partition in eine andere leere Partition kopieren möchten, geben Sie die Option COPYDICTIONARY in der LOAD-Anweisung an und verwenden Sie einen Dummy-Eingabedatensatz.
    In diesem Fall werden die Daten, die in die Partition eingefügt werden, komprimiert.
Anfang der Änderung

Ergebnisse

FL 509 Nach erfolgreichem Abschluss von LOAD SHRLEVEL REFERENCE oder SHRLEVEL NONE aktualisiert das Dienstprogramm die Spalte COMPRESS_USED der Katalogtabelle SYSTABLEPART mit dem Typ des Komprimierungswörterbuchs, das für jeden Zielseitensatz verwendet wurde. LOAD aktualisiert COMPRESS_USED nicht für XML-Tabellenbereiche.

Ende der Änderung

Nächste Schritte

Führen Sie für XML-Tabellenbereiche den Befehl REORG TABLESPACE für den Tabellenbereich aus.