Das klingt, als würden beim .Open gleich "alle" Datensätze gelesen. Hat Eure Klasse eine Option, die einer "FetchAll"-Eigenschaft entspricht? Sprich: Lässt sich das umbauen, so dass erstmal nur eine Handvoll Datensätze gelesen wird?
Und überhaupt: Wenn die
DB nicht so groß ist, stellt sich die Frage, was "alle" Datensätze sind. Ein Kreuzverbund beispielsweise kann eine prekäre Angelegenheit werden, wenn es um den Speicherverbrauch geht. Möglicherweise fehlt da eine Bedingung, die die Ergebnismenge einschränken könnte.
Um zu Deiner Frage nach Ansatzpunkten zurück zu kommen: ich würde mit einer Stelle anfangen und schauen, wie das
SQL aussieht und wie viele Datensätze da gelesen werden sollten.
Daniel R. Wolf
mit Grüßen aus Hamburg