Ruft das Histogramm für eine Spalte ab
sa_get_histogram( Spaltenname, Tabellenname [, Eigentümername ] )
Spaltenname Mit diesem CHAR(128)-Parameter können Sie die Spalte angeben, aus der das Histogramm abgerufen wird.
Tabellenname Mit diesem CHAR(128)-Parameter können Sie die Tabelle angeben, in der sich Spaltenname befindet.
Eigentümername Verwenden Sie diesen optionalen CHAR(128)-Parameter, um den Eigentümer von Tabellenname anzugeben.
Spaltenname | Datentyp | Beschreibung |
---|---|---|
StepNumber | SMALLINT | Nummer des Histogramm-Buckets (Reihe von Wertebereichen). Die Frequenz des ersten Buckets ( StepNumber = 0) zeigt die Selektivität von NULL an |
Low | CHAR(128) | Niedrigster (inklusiver) Spaltenwert im Bucket |
High | CHAR(128) | Höchster (exklusiver) Spaltenwert im Bucket |
Frequency | DOUBLE | Selektivität von Werten im Bucket |
Diese Prozedur, die für interne Diagnosezwecke gedacht ist, ruft Spaltenstatistiken aus dem Datenbankserver für die angegebenen Spalten ab. Beachten Sie: Obwohl diese Statistiken dauerhaft in der ISYSCOLSTAT-Systemtabelle gespeichert werden, werden sie bei laufendem Server im Speicher gehalten und in regelmäßigen Abständen in ISYSCOLSTAT geschrieben. Daher können sich die von der sa_get_histogram-Systemprozedur zurückgegebenen Statistiken zu jedem gegebenen Zeitpunkt von jenen unterscheiden, die über ISYSCOLSTAT bezogen werden.
Sie können ISYSCOLSTAT manuell mit den aktuellsten im Speicher gehaltenen Statistiken aktualisieren, indem Sie die sa_flush_statistics-Systemprozedur verwenden, was allerdings in einer Produktionsumgebung nicht empfehlenswert ist und nur zu Diagnosezwecken angewendet werden soll. Weitere Hinweise finden Sie unter sa_flush_statistics-Systemprozedur.
Ein Einzelwert-Bucket wird dadurch angezeigt, dass ein Low-Wert in der Ergebnismenge mit dem entsprechenden High-Wert übereinstimmt.
Es wird empfohlen, dass Sie das Histogramm-Dienstprogramm zur Anzeige von Histogrammen verwenden. Weitere Hinweise finden Sie unter Histogramm-Dienstprogramm (dbhist).
Wenn die Selektivität eines Prädikats- gegenüber einer Zeichenfolgenspalte ermittelt werden soll, verwenden Sie die Funktionen ESTIMATE oder ESTIMATE_SOURCE. Für Zeichenfolgenspalten rufen sa_get_histogram und das Histogramm-Dienstprogramm aus der ISYSCOLSTAT-Systemtabelle keine Werte ab. Falls versucht wird, Zeichenfolgedaten abzurufen, wird ein Fehler erzeugt. Weitere Hinweise finden Sie unter ESTIMATE-Funktion [Verschiedene] und ESTIMATE_SOURCE-Funktion [Verschiedene].
Statistiken (einschließlich Histogramme) sind möglicherweise für eine Tabelle oder materialisierte Ansicht nicht vorhanden, beispielsweise wenn Statistiken kürzlich gelöscht wurden. In diesem Fall ist die Ergebnismenge für die Systemprozedur sa_get_histogram leer. Um Statistiken für eine Tabelle oder eine materialisierte Ansicht zu erstellen, führen Sie eine CREATE STATISTICS-Anweisung aus. Weitere Hinweise finden Sie unter CREATE STATISTICS-Anweisung.
DBA-Berechtigung erforderlich
Keine
Die folgende Anweisung ruft das Histogramm für die ProductID-Spalte aus der SalesOrderItems-Tabelle ab:
CALL sa_get_histogram( 'ProductID', 'SalesOrderItems' ); |
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 |