Hvad laver databasen egentlig?
En forespørgsel med en GROUP BY eller og ORDER BY skal muligvis generere det fulde resultatsæt og derefter sortere/samle det, før det returneres en række. En forespørgsel, der scanner en stor tabel, kan finde 50 rækker i de første par blokke, og derefter læse yderligere hundrede tusinde blokke, før den finder en anden.
Jeg foreslår, at du ignorerer VB-koden og sender databasekoden.