Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Systemobjekte » Systemprozeduren » Alphabetische Liste der Systemprozeduren

 

sa_index_density-Systemprozedur

Gibt Auskunft über das Ausmaß der Fragmentierung und der Schiefe (Skew) in den Datenbankindizes

Syntax
sa_index_density( 
  [ Tabellenname
  [, Eigentümername ] ]
)
Argumente
  • Tabellenname   Verwenden Sie diesen optionalen CHAR(128)-Parameter, um den Tabellennamen anzugeben.

  • Eigentümername   Verwenden Sie diesen optionalen CHAR(128)-Parameter, um den Eigentümernamen anzugeben.

Ergebnismenge
Spaltenname Datentyp Beschreibung
TableName CHAR(128) Der Name einer Tabelle
TableId UNSIGNED INTEGER Die Tabellen-ID
IndexName CHAR(128) Der Name eines Indexes
IndexId UNSIGNED INTEGER Die Indexkennung. Diese Spalte enthält einen der folgenden Werte:
  • 0   für Primärschlüssel

  • SYSFKEY.foreign_key_id   für Fremdschlüssel

  • SYSIDX.index_id   für alle anderen Indizes

IndexType CHAR(4) Der Indextyp. Diese Spalte enthält einen der folgenden Werte:
  • PKEY   für Primärschlüssel

  • FKEY   für Fremdschlüssel

  • UI   für eindeutige Indizes

  • UC   für Eindeutigkeits-Integritätsregeln

  • NUI   für nicht-eindeutige Indizes

LeafPages UNSIGNED INTEGER Die Anzahl der Blattseiten
Density NUMERIC(8,6) Eine Dezimalzahl zwischen 0 und 1, die anzeigt, wie voll die einzelnen Indexseiten sind (Durchschnittswert)
Skew NUMERIC(8,6) Eine Zahl, die anzeigt, wie stark die Schiefe in einem Index ist. Der Wert 1 bezeichnet einen perfekt ausbalancierten Index. Größere Werte zeigen eine immer stärkere Schiefe.
Bemerkungen

Benutzen Sie die Systemprozedur sa_index_density, um Informationen über den Grad der Fragmentierung und die Schiefe in Indizes zu erhalten. Bei Indizes mit einer großen Anzahl von Blattseiten sind höhere Dichtewerte und niedrigere Schiefenwerte wünschenswert.

Die Indexdichte zeigt als Prozentwert, wie voll durchschnittlich die Indexseiten sind. Eine Dichte von 0,7 zeigt, dass Indexseiten durchschnittlich zu 70 % mit Indexdaten gefüllt sind. Die Indexschiefe zeigt die typische Abweichung von der Durchschnittsdichte an. Die Größe der Schiefe ist für den Optimierer wichtig, wenn er Selektivitätsschätzungen vornimmt.

Wenn die Anzahl der Blattseiten niedrig ist, spielen die Dichte- und Schiefenwerte keine Rolle. Dichte- und Schiefenwerte werden nur dann wichtig, wenn die Anzahl der Blattseiten hoch ist. Wenn die Anzahl der Blattseiten hoch ist, kann ein niedriger Dichtewert auf Fragmentierung hinweisen, ein hoher Überhangwert zeigt, dass die Indizes nicht ausgewogen sind. Beide Phänomene können an einer Verschlechterung der Performance beteiligt sein. Mit einer REORGANIZE TABLE-Anweisung können beide Probleme beseitigt werden. Weitere Hinweise finden Sie unter REORGANIZE TABLE-Anweisung.

Wenn Sie beim Aufruf dieser Prozedur keine Tabelle angeben, werden Informationen zu allen Indizes für alle Tabellen der Datenbank zurückgegeben.

Sie können auch den Assistenten für die Anwendungsprofilerstellung verwenden, um zu ermitteln, ob die Indexdichte und die Schiefe akzeptable Werte haben. Weitere Hinweise finden Sie unter Assistent für die Anwendungsprofilerstellung.

Berechtigungen

DBA-Berechtigung erforderlich

Nebenwirkungen

Keine

Siehe auch
Beispiel

Im folgenden Beispiel wird die Systemprozedur sa_index_density verwendet, um eine Ergebnismenge zurückzugeben, die die Fragmentierung und die Schiefe (Skew) in allen Indizes der Datenbank enthält.

CALL sa_index_density( );