Zitat:
Aber mit deiner Liste kannst du dennoch an die Grenzen des lokalen Arbeitsspeichers stoßen.
ist schon klar , darum bin ich auch bereits 32, 64 oder wenn denn sein muss 128 GByte
RAM zu spendieren, ich bekomme halt die Krise wenn der ADOTable, ADOQuery .... mir ohne "Workaround" Optionen einen Strich durch die Rechnung machen.
Zitat:
Wobei ja auch interessant wäre, was ReadSinglerecordFromTable() genau macht
ganz einfach :
procedure ReadSinglerecordFromTable()
begin
aClass := TDatabaseClassContent.create;
CopyDBRecord (aClass ); // die meisten Felder der Klasse werden hier 1:1 aus der
DB gefüllt
BerechneWas; // ein paar Sachen muss ich aber noch separat berechnen
end;
Das klingt aber nun auch so, das die Daten zeitweilig doppelt im Speicher des Clients liegen, einmal in der
Query und dann noch in den 3 Mio. daraus erstellten Objekten.
Wäre es da nicht einfacher sich mit der ursprünglichen
Query nur die IDs zu holen und die CopyDBRecord Prozedur entsprechend anzupassen, dass die sich nur den jeweils einen Datensatz mit der aktuellen ID aus der
DB holt?