Freigeben über


Überlegungen zur Leistung von breiten Tabellen

Eine breite Tabelle ist eine Tabelle mit einem Spaltensatz. Bei der Verwendung breiter Tabellen sollten Sie die folgenden Leistungsaspekte bedenken:

  • Breite Tabellen können bis zu 30.000 Spalten definieren. Dies erhöht die Kosten für die Verwaltung der Indizes in der Tabelle. Bei nicht gruppierten Indizes, die definiert werden, sollte es sich um gefilterte Indizes handeln, die auf Datenteilmengen angewendet werden. Weitere Informationen finden Sie unter Richtlinien für den Entwurf gefilterter Indizes.

  • Anwendungen können breiten Tabellen dynamisch Spalten hinzufügen und daraus entfernen. Wenn Spalten hinzugefügt oder entfernt werden, werden kompilierte Abfragepläne ebenfalls als ungültig erklärt. Es ist ratsam, eine Anwendung gemäß der vorhergesagten Arbeitsauslastung zu entwerfen, damit Schemaänderungen minimiert werden.

  • Wenn Daten einer breiten Tabelle hinzugefügt oder daraus entfernt werden, kann dies die Leistung beeinträchtigen. Anwendungen müssen für die vorhergesagte Arbeitsauslastung entworfen werden, damit Änderungen an den Tabellendaten minimiert werden.

  • Es ist ratsam, die Anzahl an Indizes für eine breite Tabelle auf die Indizes zu beschränken, die für die Geschäftslogik erforderlich sind. Wenn die Anzahl von Indizes zunimmt, gilt dies auch für die Anforderungen an DML-Kompilierzeit und Arbeitsspeicher.

  • Beschränken Sie die Ausführung von DML-Anweisungen für eine breite Tabelle, bei denen mehrere Zeilen eines Gruppierungsschlüssels aktualisiert werden. Diese Anweisungen können für die Kompilierung und Ausführung beträchtliche Speicherressourcen erfordern.

  • Partitionswechselvorgänge für breite Tabellen können langsam sein und für die Verarbeitung ggf. eine große Menge an Arbeitsspeicher erfordern. Die Leistungs- und Arbeitsspeicheranforderungen sind proportional zur Gesamtzahl der Spalten in der Quell- und Zielpartition.

  • Aktualisierungscursor, die bestimmte Spalten in einer breiten Tabelle aktualisieren, sollten die Spalten explizit in der FOR UPDATE-Klausel aufführen. Dies trägt zur Optimierung der Leistung bei der Verwendung von Cursorn bei.