Hallo,
ich verwende UniDac nicht FireDac, aber da gibt es etwas wie FetchAll = False und FetchRecords = 15 (oder was auch immer).
Das verwende ich für alle Tabellen die eine stetig wachsende Anzahl von Datensätzen haben. Es bleibt also beim Speicherberbrauch für die definierte Anzahl an Records. Wenn ich da tausende Datensätze durchziehe wird es natürlich langsam, Aber es geht.
Ich würde vorschlagen das Du versuchst die Auswertung auf der DB zu fahren. Entweder als Script in deiner Abfrage oder als Stored Procedure.
_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?