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 - Programmierung » SQL in Anwendungen verwenden » SQL Anywhere-Cursor

 

Cursor-Sensitivität und Performance

Es besteht eine Wechselwirkung zwischen Performance und anderen Cursor-Eigenschaften. Besonders wenn Sie einen Cursor aktualisierbar machen, führt das zu Beschränkungen der Abfrageverarbeitung und -zustellung, was die Performance vermindert. Auch können Anforderungen an die Cursor-Sensitivität die Performance einschränken.

Um zu verstehen, wie sich die Aktualisierbarkeit und Sensitivität von Cursor auf die Performance auswirkt, ist es hilfreich zu wissen, wie die Ergebnisse, die durch einen Cursor sichtbar sind, von der Datenbank an die Clientanwendung übermittelt werden.

Im Einzelnen können Ergebnisse aus Performance-Gründen an zwei dazwischengeschalteten Standorten gespeichert werden:

  • Arbeitstabellen   Sowohl Zwischen- als auch Endergebnisse können als Arbeitstabellen gespeichert werden. Wertsensitive Cursor verwenden eine Arbeitstabelle für Primärschlüsselwerte. Abfrageeigenschaften können ebenfalls dazu führen, dass der Optimierer in seinem gewählten Ausführungsplan Arbeitstabellen verwendet.

  • Prefetch-Vorgang   Der Client kann Zeilen vorab in einen clientseitigen Puffer abrufen, um separate Anfragen an den Datenbankserver für jede Zeile zu vermeiden.

Architekturdiagramm mit Prefetch-Zeilen, die im ODBC-Treiber der Clientanwendung gespeichert werden.

Sensitivität und Aktualisierbarkeit beschränken die Verwendung von zwischengeschalteten Standorten.


Prefetch von Zeilen
Verlorene Aktualisierungen