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 - Datenbankadministration » Pflege Ihrer Datenbank » Datenbanken validieren

 

Performance beim Validieren der Datenbank verbessern

Die Anweisung VALIDATE TABLE kann langsam sein, wenn sie mit größeren Datenbanken auf Servern eingesetzt wird, dessen Cache zu klein ist, um die Tabelle und ihren größten Index aufzunehmen. Es kommt oft vor, dass alle Seiten der Tabelle mindestens einmal für jeden Index eingelesen werden. Außerdem gilt: Wenn vollständige Vergleiche für Indexsuchläufe erforderlich sind, kann die Anzahl der Seiten-Lesevorgänge im Verhältnis zur Anzahl der Zeilen (nicht Seiten) der Tabelle stehen.

Wenn Sie die erforderliche Zeit für die Validierung reduzieren wollen, können Sie die Option WITH EXPRESS CHECK mit der Anweisung VALIDATE TABLE oder die Option -fx mit dem Dienstprogramm dbvalid verwenden. Je nach der Größe der Datenbank, der Größe des Caches und der Art der erforderlichen Validierung können diese beiden Merkmale die Zeit für die Durchführung der Validierung deutlich reduzieren.

Die Expressvalidierung sorgt dafür, dass alle Zeilen der Tabelle gelesen und alle Spalten berücksichtigt werden. Jeder Index wird einmal komplett abgesucht und Prüfungen werden durchgeführt, um sicherzugehen, dass die im Index referenzierten Zeilen in der Tabelle existieren. Die Express-Check-Option führt auch Checks zur Validität einzelner Indexseiten durch. Die Anzahl der Zeilen in der Tabelle muss zur Anzahl der Einträge im Index passen. Die Express-Option erfordert weniger Zeit, weil nicht für jede einzelne Zeile eine Indexsuche durchgeführt wird.

Da die Express-Check-Funktion keine individuellen Indexsuchläufe durchführt, ist es möglich (wenn auch unwahrscheinlich), dass die Express-Validierungsfunktion gewisse Indexbeschädigungen nicht erkennt. Sollte es zu einer Indexbeschädigung kommen, können Daten wiederhergestellt werden, indem Sie die Datenbank entladen und wieder einlesen, weil durch die Validierung bestätigt wurde, dass alle Daten gelesen werden können. Sie können auch die REBUILD-Klausel der ALTER INDEX-Anweisung verwenden, um Indexbeschädigungen zu beheben. Weitere Hinweise finden Sie unter ALTER INDEX-Anweisung.