Db2 11.1

Operator SORT

Dieser Operator stellt das Sortieren von Zeilen in einer Tabelle dar.

Operatorname: SORT

Aufgabe: Stellt das Sortieren von Zeilen in einer Tabelle in der Reihenfolge einer oder mehrerer der Spalten dar, wobei doppelte Einträge optional entfernt werden können.

Das Sortieren ist erforderlich, wenn kein Index vorhanden ist, der die angeforderte Reihenfolge liefert, oder wenn das Sortieren weniger aufwendig als eine Indexsuche ist. Das Sortieren erfolgt in der Regel als letzte Operation, wenn die erforderlichen Zeilen abgerufen wurden, oder es erfolgt, um die Daten vor einem Join oder einer Gruppierung zu sortieren.

Wenn die Anzahl der Zeilen hoch ist oder die sortierten Daten nicht über eine Pipe geleitet werden können, ist für die Operation die aufwendige Generierung temporärer Tabellen erforderlich.

Vorschläge zur Leistungsverbesserung:
  • Ziehen Sie für die Sortierspalten das Hinzufügen eines Index in Betracht.
  • Stellen Sie sicher, dass Sie Vergleichselemente verwendet haben, die ausschließlich die erforderlichen Daten zurückgeben. Stellen Sie beispielsweise sicher, dass der Wert der Selektivität für die Vergleichselemente den Teil der Tabelle darstellt, der zurückgegeben werden soll.
  • Stellen Sie sicher, dass die Größe des temporären Systemtabellenbereichs für den Vorablesezugriff ausreichend ist, sodass der Vorablesezugriff nicht an die Eingabe/Ausgabe gebunden ist.
  • Wenn häufig große Sortierungen erforderlich sind, sollten Sie die Werte der folgenden Konfigurationsparameter erhöhen:
    • Zwischenspeicher für Sortierlisten (sortheap). Verwenden Sie zum Ändern dieses Parameters den Befehl UPDATE DATABASE CONFIGURATION.
    • Schwellenwert für Sortierspeicher (sheapthres). Verwenden Sie zum Ändern dieses Parameters den Befehl UPDATE DATABASE CONFIGURATION.
  • Wenn die Statistikdaten nicht auf dem aktuellen Stand sind, aktualisieren Sie sie mit dem Befehl RUNSTATS.