Я например заглядываю изредка.

Что-бы тормозило меньше есть много вариантов решения.
1. Начните с простого, установите курсор на сервере а не на клиенте. CursorLocation
2. Ограничьте количество возвращаемых результатов - MaxRecords
3. Воспользуйтесь компонентами которые умеют считывать данные по мере требования. Например cxGrid из DevExpress.
4. Может имеет смысл использовать асинхронные запросы для выборок с большим временем исполнения.
5. Постройте индексы по всем полям.