Co właściwie robi baza danych?
Zapytanie z opcją GROUP BY lub ORDER BY może wymagać wygenerowania pełnego zestawu wyników, a następnie sortowania/agregowania go przed zwróceniem wiersza. Zapytanie skanujące dużą tabelę może znaleźć 50 wierszy w pierwszych kilku blokach, a następnie odczytać kolejne sto tysięcy bloków, zanim znajdzie kolejny.
Proponuję zignorować kod VB i opublikować kod bazy danych.