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.
Es ist nicht möglich, direkte Page-Scans zu verwenden, wenn Sie eine ULTable-Klasse in einer UltraLite-API verwenden, um Ihre Anwendung zu programmieren.
Sie können überprüfen, wann UltraLite eine Seite direkt durchsucht oder welcher Index für die Rückgabe von Ergebnissen verwendet wurde.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |