Spaltenstatistiken werden in der Datenbank in der Systemtabelle ISYSCOLSTAT permanent gespeichert. Um die Performance des Optimierers ständig zu verbessern, aktualisiert der Optimierer die Spaltenstatistiken automatisch während der Verarbeitung aller SELECT-, INSERT-, UPDATE- und DELETE-Anweisungen, einschließlich Anweisungen für eine einzelne Zeile. Dazu überwacht der Optimierer die Anzahl der Zeilen, die einem Prädikat entsprechen, welches eine Tabelle oder Spalte referenziert, vergleicht diese Anzahl mit der Anzahl der geschätzten Zeilen und aktualisiert dann, falls erforderlich, die vorhandenen Statistiken.
Dann kann der Optimierer auf der Grundlage genauerer Spaltenstatistiken bessere Schätzungen berechnen und die Performance der nachfolgenden Abfragen verbessern.
Sie können über die Datenbankoptionen einstellen, ob die Spaltenstatistiken aktualisiert werden sollen. Mit der Datenbankoption update_statistics wird festgelegt, ob die Spaltenstatistiken während der Ausführung von Abfragen aktualisiert werden. Mit der Datenbankoption collect_statistics_on_dml_updates wird festgelegt, ob die Statistiken während der Ausführung von datenverändernden DML-Anweisungen wie LOAD, INSERT, DELETE und UPDATE aktualisiert werden.
Wenn Sie vermuten, dass die Performance beeinträchtigt wird, weil Ihre Statistiken die aktuellen Spaltenwerte falsch wiedergeben, können Sie die Anweisungen CREATE STATISTICS oder DROP STATISTICS benutzen. Mit CREATE STATISTICS werden die alten Statistiken gelöscht und neue erstellt, während mit DROP STATISTICS lediglich die alten Statistiken gelöscht werden.
Wenn Sie die Anweisung CREATE INDEX ausführen, werden die Statistiken für den Index automatisch erstellt.
Wenn Sie die Anweisung LOAD TABLE ausführen, werden die Statistiken für die Tabelle automatisch erstellt.
Verwaltung von Statistiken durch den Statistikwächter
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |