Hallo
renekr,
begrenze den Speicher im
SQL-Server doch auf z.B. 750MB. Darüber hinaus wird der
SQL-Server dann nicht mehr gehen. Er wird dann selber dafür sorgen, dass er Speicher anders benutzt, wenn er das braucht. Dein Gesamtsystem bleibt dann stabiel. Ich würde nicht anfangen im Programm große Verränkungen zu machen. Da baust du dir eventuell nur böse Fehler ein.
Müssen den wirklich immer alle Zeilen angezeigt werden?
Bei solchen Problemen begrenze ich standardmäßig die Ausgabe auf z.B. 100 Datensätze. Diese Begrenzung kann der Benutzer aufheben. Wenn es nicht nötig ist wird aber das DBGrid schnell geladen.
Dies geht natürlich nur wenn du eine Sortierung angeben kannst, in der die eventuelle Wichtigkeit der Datensätze steht. Damit eben die Zeilen, die der User vermutlich gerade braucht auch die ersten 100 Zeilen sind. Wie wäre es vielleicht mit einem Zeitstempel?
Wie auch immer, ich würde da auf dem Server Einstellungen verändern. In deiner Software wäre ich da vorsichtig.
Edit: Der
SQL-Server gibt seinen Speicher frei, wenn er das für richtig hält. Also erst dann wenn er beendet wird. Du kannst nur entscheiden wo das Maximum liegen soll.
Gruss
Thorsten