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-Benutzerhandbuch » Abfrageverarbeitung » Abfragen optimieren und ausführen » So funktioniert der Optimierer » Optimiererschätzungen und Spaltenstatistiken

 

Wie der Optimierer Spaltenstatistiken verwendet

Für den Optimierer sind Histogramme die wichtigste Komponente der Spaltenstatistiken. Histogramme speichern Daten über die Verteilung von Werten in einer Spalte. In SQL Anywhere stellt ein Histogramm die Datenverteilung für eine Spalte folgendermaßen dar: Die Domäne der Spalte wird in eine Reihe aufeinander folgender Wertebereiche unterteilt (auch als Buckets bezeichnet). Für jeden Wertebereich (oder Bucket) wird die Anzahl der Zeilen in derjenigen Tabelle festgehalten, für die der Spaltenwert in den Bucket fällt.

SQL Anywhere achtet besonders auf einzelne Spaltenwerte, die in einer großen Anzahl von Zeilen in der Tabelle vertreten sind. Bedeutende Einzelwert-Selektivitäten werden in Einzelwert-Histogramm-Buckets aufrechterhalten (z.B. Buckets, die einen Einzelwert in der Spaltendomäne umgeben). SQL Anywhere versucht, eine Mindestzahl von Einzelwert-Buckets in jedem Histogramm aufrechtzuerhalten, je nach Größe der Tabelle normalerweise zwischen 10 und 100. Außerdem werden alle Einzelwerte mit Selektivitäten über 1 % in Einzelwert-Buckets aufbewahrt. Daher erinnert sich ein Histogramm für eine bestimmte Spalte an die höchsten N Einzelwertselektivitäten für die Spalte, wobei der Wert von N von der Größe der Tabelle und der Anzahl der Einzelwert-Selektivitäten über 1 % abhängt.

Sobald die Mindestzahl der Wertebereiche erreicht wurde, werden Häufigkeiten niedriger Selektivität durch Häufigkeiten großer Selektivität ersetzt, sobald diese auftauchen. Das Histogramm hat nur dann mehr Einzelwert-Wertebereiche als die Mindestzahl, wenn es genügend Werte mit einer Selektivität von über 1 % gesehen hat.

Weitere Hinweise zu Spaltenstatistiken finden Sie unter SYSCOLSTAT-Systemansicht.