Weiter Zurück [Inhalt] Online Suche im Handbuch

17.5 Cursors

Cursor sind eine komplexe Angelegenheit. Es gibt Serverside, Clientside, Forward-Only .... Cursor. Danach ist es eine Frage des Anwendungs-Interfaces, also den Fähigkeiten des ODBC-Treibers oder JDBC Treibers. MyODBC unterstützt in Verbindung mit Microsoft Applikationen clientside cursors, auch als front-end cursors beschrieben. Diese funktionieren mit allen Microsoft Anwendungen und Programmiersprachen. Mi ACCESS z.B. als Frontend können sie ganz einfach durch Datensätze in der MySQL Datenbank durchscrollen. Dasselbe betrifft auch alle Frontends, die mit Microsoft Programmen entwickelt wurden.

Serverside Cursor werden von MySQL nicht unterstützt, da diese oft erhebliche Performanceprobleme auf dem Server bereiten. Bei vielen simultanen Clients, wie sie oft im Internet auftreten können, sind Serverside Cursor das Ende jeder SQL Datenbank. Der Grund dafür liegt einfach darin, daß alle Statements über einen Postprozessor der Datenbank laufen, der dann die Cursor mit der Ausgabe der Statements verknüpft, und daraufhin entscheidet, welche Daten dem Client übermittelt werden. Das kostet Auslagerungsspeicher und viel CPU-Zeit. Clientside Cursor schonen erheblich Serverresourcen, da diese neuerdings auch Caching - Mechanismen unterstützen. Bei Internet-Anwendungen sind also in jedem Falle eine hochkarätige Datenbank, wie z.B. ORACLE, SYSBASE oder MS-SQL mit serverside cursors völlig ungeeignet. Unter JDBC gibt es ebenfalls clientside cursor für MySQL, die auch völlig problemlos funktionieren. Einige Hersteller bieten für MySQL erweiterte Bibliotheken an, die erhebliche Erweiterungen und Vorteile gegenüber den RMI JDBC Bibliotheken von SUN bieten. Siehe hierzu auch Kapitel Cursor unter MySQL. Wenn Sie sich für eine Art Cursor unter PHP3 interessieren, mit denen man seitenweise Daten aus MySQL anzeigen und ändern kann, sollten Sie sich im Kapitel PHP3 Tutorial umschauen.


Weiter Zurück [Inhalt] Online Suche im Handbuch