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) » UltraLite - Datenbankverwaltung » UltraLite-Datenbanken verwenden » UltraLite-Performance und -Optimierung » Temporäre Tabellen verwalten

 

Direkte Page-Scans verwenden

UltraLite verwendet direkte Page-Scans als Alternative zu Index-Scans, wenn es effizienter ist, auf Informationen direkt über die Datenbankseite zuzugreifen. Ein direkter Page-Scan wird nur verwendet, nachdem der Optimierer Folgendes bestätigt hat:

  • Kein bereits bestehender Index kann die Ergebnisse effizienter zurückgeben.

  • Sie verwenden die Abfrage nicht, um Aktualisierungen vorzunehmen. Beispiel: Sie haben die Anweisung als FOR READ ONLY deklariert (die Standardeinstellung, wenn keine FOR-Klausel angegeben wurde) oder die Abfrage so geschrieben, dass es offensichtlich ist, dass keine Daten aktualisiert werden.

Da UltraLite die Zeilen direkt von den Seiten einliest, auf denen die Zeilen gespeichert sind, werden Abfrageergebnisse unsortiert zurückgegeben. Die Reihenfolge von nachfolgenden Abfrageergebnissen ist nicht vorhersehbar. Wenn die Reihenfolge der Zeilen vorhersehbar und deterministisch sein soll, müssen Sie eine ORDER BY-Klausel verwenden, um Ergebnisse in einer konsistenten Reihenfolge zu erhalten. Wenn die Reihenfolge dagegen nicht von Bedeutung ist, können Sie die ORDER BY-Klausel weglassen, um die Abfrageperformance zu verbessern.

Hinweis

Es ist nicht möglich, direkte Page-Scans zu verwenden, wenn Sie Ihre Anwendung mit der Tabellen-API programmieren.

Sie können überprüfen, wann UltraLite eine Seite direkt durchsucht oder welcher Index für die Rückgabe von Ergebnissen verwendet wurde. Siehe Vom Optimierer verwendete Zugriffsmethode bestimmen.