Bei
ADO gibt es die CursorLocation.
Steht die bei Dir auf clUseServer oder auf clUseClient.
Beim Zweiten wird alles auf den Client "geholt", also erstmal alles aus der Abfrage muss durch die Leitung. Bei clUseServer sollte das nicht der Fall sein. dann bekommt man (nach meiner Erfahrung) nur dass, was gerade aktuell auf dem Client benötigt wird.
Ein kurzes Experiment sollte hier recht schnell Klarheit über eine mögliche Verbesserung bringen.
Bei Abfragen und Tabellen gibt es bei
ADO auch noch CursorType. Hier können unterschiedliche Werte auch zu deutlichen Veränderungen im Laufzeitverhalten führen.
Ja nach Datenbank sind unterschiedliche Kombinationen sinnvoll. Hier versuche ich es immer per "Try and Error". 'ne sinnvolle "Richtlinie" habe ich bisher nicht finden können.