Liefert die Quelle für Selektivitätsschätzungen, die vom Abfrageoptimierer verwendet werden
ESTIMATE_SOURCE(Spaltenname [ , Wert [, Relationszeichenfolge ] ] )
Spaltenname Der Name der Spalte, die untersucht wird
Wert Der Wert, mit dem die Spalte verglichen wird. Der Standardwert ist NULL.
Relationszeichenfolge Der Vergleichsoperator, der für den Vergleich verwendet wird, in Apostrophe gesetzt. Mögliche Werte für diesen Parameter sind: '=' , '>' , '<' , '>=' , '<=' , '<>' , '!=' , '!<' , und '!>'. Der Standardwert ist '='.
Die Quelle der Selektivitätsschätzung. Sie kann sein:
Statistiken (Statistics) Werden als Quelle verwendet, wenn Sie einen Wert eingegeben haben und eine gespeicherte Statistik verfügbar ist, die die durchschnittliche Selektivität des Werts in der Spalte bewerten kann. Die Statistik ist nur verfügbar, wenn die Selektivität des Werts eine Zahl mit ausreichender Signifikanz ist, die in den Statistiken gespeichert wird. Ein Wert wird als signifikant angesehen, wenn er in mindestens 1% der Zeilen vorkommt.
Spalte Ähnlich wie Statistiken, nur wird die Selektivität des Werts in weniger als 1% der Zeilen angetroffen. In diesem Fall ist die benutzte Selektivität der Durchschnitt aller Werte, die in den Statistiken gespeichert wurden und in weniger als 1% der Zeilen vorkamen.
Annahme (Guess) Wird zurückgegeben, wenn kein relevanter Index benutzt werden kann und für die Spalte keine Statistiken gesammelt wurden. In diesem Fall werden systemeigene Näherungsannahmen benutzt.
Spalte-Spalte (Column-Column) Wird zurückgegeben, wenn die benutzte Schätzung die Selektivität eines Joins ist. In diesem Fall wird die Schätzung als Anzahl von Zeilen im Join-Ergebnis berechnet, dividiert durch die Anzahl der Zeilen im kartesischen Produkt der beiden Tabellen.
Index Wird als Quelle benutzt, wenn keine Statistiken für die Schätzung der Selektivität vorhanden sind, aber ein Index existiert, der für die Schätzung der Selektivität herangezogen werden kann.
Benutzer Wird zurückgegeben, wenn es eine vom Benutzer übergebene Schätzung gibt und die Datenbankoption user_estimates nicht auf DISABLED gesetzt wurde.
Weitere Hinweise finden Sie unter user_estimates-Option [Datenbank].
Berechnet (Computed) wird zurückgegeben, wenn Statistiken durch den Optimierer basierend auf anderen Informationen berechnet werden. Beispiel: SQL Anywhere führt keine Statistiken über mehrere Spalten. Wenn Sie eine Schätzung zu einer Gleichung über mehrere Spalten benötigen, wie z.B. x=5 und y=10, und Statistiken zur Spalte x und zur Spalte y vorhanden sind, erstellt der Optimierer eine Schätzung, indem er die geschätzte Selektivität für jede Spalte multipliziert.
Immer Wird benutzt, wenn der Text definitionsgemäß wahr ist. Beispielsweise, wenn der Wert 1=1 ist.
Kombiniert (Combined) Wird benutzt, wenn der Optimierer mehr als eine der oben genannten Quellen benutzt und sie kombiniert.
Beschränkt (Bounded) Kann eine der anderen Quellen qualifizieren. Dies weist darauf hin, dass SQL Anywhere eine obere oder untere Grenze für die Schätzung aktiviert hat. Der Optimierer tut dies innerhalb logischer Grenzen. Zum Beispiel sorgt er dafür, dass eine Schätzung nicht höher als 100% oder eine Schätzung nicht geringer als 1 Zeile sein kann.
Wenn Wert NULL ist, werden die Relationszeichenfolgen "=" und "!=" als die Bedingung IS NULL bzw. IS NOT NULL interpretiert.
SQL/2003 Erweiterung des Herstellers
Die folgende Anweisung gibt den Wert "Index" zurück, was bedeutet, dass der Abfrageoptimierer zur Schätzung der Selektivität einen Index ausgewertet hat.
SELECT FIRST ESTIMATE_SOURCE( EmployeeID, 200, '>' ) FROM Employees ORDER BY 1; |
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 |