Obwohl serverseitige Cursor in Datenbankanwendungen nicht erforderlich sind, bieten sie eine Reihe von Vorteilen. Ein serverseitiger Cursor ist einem clientseitigen Cursor aus folgenden Gründen vorzuziehen:
Antwortzeit Serverseitige Cursor erfordern nicht, dass die gesamte Ergebnismenge zusammengestellt werden muss, bevor die erste Zeile vom Client abgerufen wird. Ein clientseitiger Cursor erfordert, dass die gesamte Ergebnismenge abgerufen und an den Client übertragen wird, bevor die erste Zeile vom Client abgerufen werden kann.
Clientseitiger Speicher Bei großen Ergebnismengen kann das Sammeln der gesamten Ergebnismenge auf der Clientseite zu einer starken Speicherauslastung führen.
Parallelitätskontrolle Wenn Sie Ihre Daten aktualisieren und keine serverseitigen Cursor in Ihrer Anwendung verwenden, müssen Sie separate SQL-Anweisungen wie UPDATE, INSERT oder DELETE an den Datenbankserver senden, um die Änderungen zu übernehmen. Dadurch können Parallelitätsprobleme entstehen, wenn entsprechende Zeilen in der Datenbank geändert wurden, seit die Ergebnismenge an den Client übertragen wurde. Daher können Aktualisierungen durch andere Clients verloren gehen.
Serverseitige Cursor können als Zeiger auf die zugrunde liegenden Daten fungieren und ermöglichen es Ihnen, geeignete Parallelitätsbeschränkungen für durch den Client vorgenommene Änderungen mithilfe einer entsprechenden Isolationsstufe festzulegen.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |