Gibt Auskunft über das Ausmaß der Fragmentierung und der Schiefe (Skew) in den Datenbankindizes
sa_index_density( [ Tabellenname [, Eigentümername ] ] )
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.
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:
|
IndexType | CHAR(4) | Der Indextyp. Diese Spalte enthält einen der folgenden Werte:
|
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. |
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.
DBA-Berechtigung erforderlich
Keine
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( ); |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |