Einzelnen Beitrag anzeigen

AlphaBug

Registriert seit: 2. Mär 2004
Ort: hinterm Transistor 246 gleich links
46 Beiträge
 
Delphi 6 Enterprise
 
#1

BDE-Zwischenspeicherung umgehen ?

  Alt 11. Apr 2006, 09:44
Datenbank: Sybase SQL Anywhere • Version: 8.0.3 • Zugriff über: BDE / TQuery
Hallo,

ich suche nach einer Möglichkeit, die Zwischenspeicherung der BDE, bzw. der BDE-Komponenten zu umgehen.

Ich habe eine Tabelle mit über 40000 Datensätzen, die ich mit der TQuery-Komponente einmal komplett von oben nach unten durchlaufen lassen möchte. Dafür verwende ich die Methode First, eine while-Schleife die auf Eof prüft, sowie die Mehode Next. Benötigt wird nur der jeweils aktuelle Datensatz. Leider werden die bereits durchlaufenen Datensätze im Arbeitsspeicher zwischengespeichert.

Wenn ich die Eigenschaft RequestLive auf True setze,
werden ca. 10Sek. und etwa 150MB RAM benötigt (Der reine Datenbestand sind exportiert ca. 25MB).

Wenn ich die Eigenschaft RequestLive dagegen auf False setze, oder CachedUpdates auf True setze, wird deutlich mehr Zeit und Speicher benötigt (häufig reicht dann der RAM nicht).

Ich benötige jedoch nur den jeweils aktuellen Datensatz.

Gibt es eine Möglichkeit, diese Zwischenspeicherung zu umgehen?

Ich hab zwar nach Möglichkeiten und Alternativen gesucht, aber bisher nichts Passendes gefunden.


Danke im Vorraus.
Delphi 4ever !
  Mit Zitat antworten Zitat