Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Performance der Datenbank überwachen und steigern » Datenbankperformance steigern » Tipps zur Performance-Verbesserung

 

Explizite Selektivitätsschätzungen sparsam einsetzen

Es kann passieren, dass Statistiken ungenau werden. Dieser Fall tritt üblicherweise dann ein, wenn eine große Menge von Daten hinzugefügt, aktualisiert oder gelöscht wurde und dann nur wenige Abfragen ausgeführt wurden. Ungenaue oder nicht verfügbare Statistiken können die Performance beeinträchtigen. Wenn SQL Anywhere zu lange braucht, um die Statistiken zu aktualisieren, sollten Sie CREATE STATISTICS oder DROP STATISTICS ausführen, um sie zu aktualisieren.

SQL Anywhere aktualisiert auch dann einige Statistiken, wenn LOAD TABLE-Anweisungen ausgeführt werden, während der Abfrageausführung, und wenn DML-Anweisungen aktualisiert werden.

Unter ungewöhnlichen Umständen allerdings können sich diese Maßnahmen als nicht effektiv herausstellen. Wenn Sie wissen, dass eine Bedingung eine Erfolgsrate hat, die von der Schätzung des Optimierers abweicht, können Sie in der Suchbedingung eine eigene Schätzung übergeben.

Auch wenn von Benutzern gelieferte Schätzungen manchmal die Performance steigern können, sollten Sie es vermeiden, explizite Benutzerschätzungen in Anweisungen einzufügen, die laufend verwendet werden. Wenn sich die Daten ändern, verliert die explizite Schätzung ihre Gültigkeit, wodurch der Optimierer möglicherweise ungeeignete Pläne auswählt.

Wenn Sie Selektivitätsschätzungen verwendet haben, die als Behelfslösung für Performance-Probleme nicht ausreichen, bei denen der von der Software ausgewählte Zugriffsplan ungeeignet war, können Sie "user_estimates" auf "Off" setzen, damit die Werte ignoriert werden. Siehe Explizite Selektivitätsschätzungen.