Gibt verschiedene Statistiken über die angegebene(n) Spalte(n) zurück. Diese Statistiken hängen nicht mit den Spaltenstatistiken zusammen, die für die Verwendung durch den Optimierer geführt werden.
sa_column_stats ( [ Tabellenname ][ ,Spaltenname ] [, Tabelleneigentümer ] [, Max_Zeilen ] )
Tabellenname Dieser optionale CHAR(128)-Parameter gibt den Eigentümer der Tabelle an. Wenn dieser Parameter nicht angegeben ist, werden Statistiken für alle Spalten in allen Tabellen erstellt.
Spaltenname Dieser optionale CHAR(128)-Parameter gibt die Spalten an, für die Statistiken erstellt werden sollen. Wenn dieser Parameter nicht angegeben ist, werden Statistiken für alle Spalten in der/den angegebenen Tabelle(n) erstellt.
Tabelleneigentümer Dieser optionale CHAR(128)-Parameter gibt den Eigentümer der Tabelle an. Wenn dieser Parameter nicht angegeben wird, verwendet der Datenbankserver den Eigentümer der ersten Tabelle, die dem angegebenen Tabellennamen entspricht.
Max_Zeilen Dieser optionale INTEGER-Parameter gibt die Anzahl der Zeilen an, die für die Berechnung herangezogen werden. Wenn dieser Parameter nicht angegeben ist, werden standardmäßig 1000 Zeilen genommen. Die Angabe von 0 teilt dem Datenbankserver mit, das Ergebnis basierend auf allen Zeilen in der Tabelle zu berechnen.
Mit der Ausnahme von table_owner, table_name und column_name sind bei Nicht-Zeichenfolgenspalten alle Werte in der Ergebnismenge NULL. Auch sind bei leeren Tabellen num_rows_processed und num_values_compressed 0, während alle anderen Werte NULL sind.
Spaltenname | Datentyp | Beschreibung |
---|---|---|
table_owner | CHAR(128) | Eigentümer der Tabelle |
table_name | CHAR(128) | Der Tabellenname |
column_name | CHAR(128) | Der Spaltenname. |
num_rows_processed | INTEGER | Die Gesamtanzahl der Zeilen, die zum Berechnen der Statistiken gelesen werden |
num_values_compressed | INTEGER | Die Anzahl der Werte in der Spalte, die komprimiert sind. Wenn die Spalte nicht komprimiert ist, ist der Wert "0". |
avg_compression_ratio | DOUBLE | Das durchschnittliche Komprimierungsverhältnis, ausgedrückt als prozentuale Größenverminderung, von komprimierten Werten in der Spalte. Wenn die Spalte nicht komprimiert ist, ist der Wert "0". |
avg_length | DOUBLE | Die durchschnittliche Länge aller Nicht-NULL-Zeichenfolgen in der Spalte |
stddev_length | DOUBLE | Die Längen-Standardabweichung aller Nicht-NULL-Zeichenfolgen in der Spalte |
min_length | INTEGER | Die minimale Länge von Nicht-NULL-Zeichenfolgen in der Spalte |
max_length | INTEGER | Die maximale Länge von Zeichenfolgen in der Spalte |
avg_uncompressed_length | DOUBLE | Die durchschnittliche Länge aller unkomprimierten Nicht-NULL-Zeichenfolgen in der Spalte |
stddev_uncompressed_length | DOUBLE | Die Längen-Standardabweichung aller unkomprimierten Nicht-NULL-Zeichenfolgen in der Spalte |
min_uncompressed_length | INTEGER | Die minimale Länge aller unkomprimierten Nicht-NULL-Zeichenfolgen in der Spalte |
max_uncompressed_length | INTEGER | Die maximale Länge aller unkomprimierten Nicht-NULL-Zeichenfolgen in der Spalte |
Der Datenbankserver bestimmt die Spalten, die dem Eigentümer-, Tabellen- und Spaltennamen entsprechen, und berechnet Statistiken für die Daten in jeder angegebenen Spalte. Standardmäßig verwendet der Datenbankserver nur die ersten 1000 Datenzeilen.
Bei avg_compression_ratio dürfen Werte nicht größer oder gleich 100 sein. Sie können jedoch kleiner als 0 sein, wenn unkomprimierbare Daten (z.B. bereits komprimierte Daten) in eine komprimierte Spalte eingefügt werden. Höhere Werte zeigen eine bessere Komprimierung an. Wenn die zurückgegebene Zahl z.B 80 ist, ist die Größe der komprimierten Daten um 80 % geringer als die der unkomprimierten Daten.
DBA-Berechtigung erforderlich
Keine
In diesem Beispiel verwenden Sie die Systemprozedur sa_column_stats in einer SELECT-Anweisung, um zu bestimmen, welche Spalten in der Datenbank am meisten von der Spaltenkomprimierung profitieren:
SELECT * FROM sa_column_stats() WHERE num_values_compressed > 0 ORDER BY avg_compression_ratio desc; |
In diesem Beispiel begrenzen Sie Ihre Auswahl aus dem vorherigen Beispiel auf Tabellen, die 'bsmith' gehören:
SELECT * FROM sa_column_stats( tab_owner='bsmith' ) WHERE num_values_compressed > 0 ORDER BY avg_compression_ratio desc; |
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 |