Registriert seit: 27. Nov 2017
2.508 Beiträge
Delphi 7 Professional
|
AW: Delphi 7 MySQL TEXT fields
16. Dez 2024, 12:25
Nein, nicht unbedingt. Manche Datenbanken fangen bereits an Daten zu liefern, wenn sie noch nicht wissen, wie groß die Datenmenge insgesamt sein wird, sie nur wissen, dass sich an der Reihenfolge ... der zu liefernden Daten nichts mehr ändert.
Hab' es zumindest früher per Toad gegen Oracle-Datenbanken sehen können, dass Programme bei sehr großen Datenmengen bereits mit der Verarbeitung und Ausgabe der Ergebnisse begonnen hatten, während die Datenbank noch mit der Verarbeitung und Lieferung weiterer Daten beschäftigt war.
Sprich: Man konnte beobachten, dass Datenbank und Programm fast gleichzeitig mit der Verarbeitung fertig wurden. Es waren allerdings Prozesse, bei denen die Verarbeitung schon mal in den Bereich von vielen Stunden bis über einen Tag hinaus reichen konnte.
Und bei 'nem Fetch 100 bekommt die Datenbank ja explizit gesagt: Liefere mir bitte die ersten 100 Sätze. Sie schaut dann erst garnicht, ob es mehr geben könnte. Erst wenn der 101. Satz angefordert wird, schaut sie nach den nächsten 100 und weiß damit erst dann, wenn es weniger als 100 weitere Sätze gibt, dass EoF erreicht ist und welcher Wert für RecordCount definitiv zu vergeben ist. In dieser Konstellation sagt RecordCount immer nur aus, wieviele Sätze bereits geliefert wurden, aber nicht, wieviele Sätze insgesamt geliefert werden könnten.
|