Weiß jemand was genau der Unterschied ist zwischen

declare c sensitive scroll cursor for s
zu
declare c cursor for s

und anschließend

fetch next from c into

Ich bin immer davon ausgegangen, dass beim sensitive scroll cursor Satz für Satz eingelesen wird, soll heißen er holt sich nicht die gesamte Datenmenge sondern immer nur den nächsten Satz wenn dieser über fetch next angeforder wird

Im Gegensatz dazu wird im zweiten Fall die komplette Datenmenge eingelesen, trotzdem aber Satz für Satz per fetch next in meine Felder übertragen.

Lieg ich da richtig ?

Meine komplette Datenmenge beträgt ca 90 Mio Datensätze
Eine Subfileseite beinhatet 15 Sätze.
Deshalb habe ich auch gedacht ich nehme den sensitive scroll cursor. Denn nach 15 Datensätzen soll dem Benutzer die Subfile angezeigt werden und erst beim Blättern die nächsten Datensätze ermittelt werden.

Ich habe jetzt festgestellt.
Sind nur 3 Datensätze anzuzeigen läuft mein Programm seltsamerweise bis zu 9 Minuten (muss alle Datensätze einlesen)
Lass ich den Sensitive Cursor weg, ca 10 Sekunden

Wähle ich dann eine riesige Datenmenge aus (z.B. 100000 Datensätze) dann ist der Sensitive Cursor schneller als ohne. Da er anscheinend ja schnell 15 Sätze zum Anzeigen findet, ist er dann auch schnell bei der Anzeige. Die nächsten 15 holt er sich dann beim Blättern.

Jetzt aber meine Frage.

Was das Einlesen über FETCH NEXT betrifft, macht es doch keinen Unterschied ob ich SENSITIVE SCROLL CURSOR verwende oder nicht (ich meine nicht die Schnelligkeit sondern die Daten die ich bekomme) ?

Weil ich würde jetzt das Programm einfach so ändern dass er nur noch einen "normalen" und keinen sensitive scroll Cursor mehr hat. Die Daten sind immer noch die gleichen die ich bekomme ?

Viel geschrieben, aber am wichtigsten wäre mir ein ja auf die letzte Frage ;-)

Viele Grüße harkne