Und jetzt der Klassiker:
Musst du wirklich 890.000 Datensätze visualisieren?
Wenn ich es kann und es gefühlt nix kostet (im virtuellen Modus der TListView) und die Anzeige genau so schnell ist als wenn ich nur 1000 Datensätze visualisiere, warum sollte ich da etwas beschränken?
Wenn ich dafür sorge, dass bei einem gleichen String auch immer nur eine String-Referenz verwendet wird, dann sinkt bei meiner Test-Datei sogar der Speicherbedarf der Anwendung auf ca. 90MB. Die Zeit zum Einlesen erhöht sich allerdings dabei um ca. 30%.