Es kommt auch darauf an, was so lange dauert.
1) die Daten im
DBMS zusammenstellen (Suchen, Filtern, Joinen usw.
2) die Daten vom
DBMS ins Programm übertragen (Netzwerk)
3) die Daten in die Anzeige laden
3a) nur "aktuellen" Datensatz in paar TDBEdits ist immer gleich schnell, egal wieviel
3b) aber zu viele Datensätze in ein Grid rein, dauert schonmal ewig
Das erste kann man nur durch "Vorladen" schneller machen, also das bei Abfrage schon alles fertig und abholbereit ist.
z.B.
Data Warehouse oder sonstwie vorher das "Ergebnis" in eine Temp-Tabelle schreiben
Und bei 2/3 kann man entweder manuell ein "Window" laden, also jeweils nur ein paar Daten LIMIT+Offset, aber da darf Punkt 1 nicht lange dauern, wenn man das Select mehrmals abschickt.
Oder die
Query-Komponente und das Grid (und eventuell auch das
DBMS) können einen passenden Modus, wo man die selektierten Daten dann Stück für Stück laden kann, also jeweils nur einen aktuell "sichtbaren" Bereich.
Punkt 1 und 2 kann man aber auch in einem Thread im Hintergrund laden, damit nicht die
GUI so lange angehalten wird.