Não entendi qual é exatamente o seu problema. Seria trazer muitos registros do banco para a aplicação? Se for esse o caso, você deveria trazer o mínimo possível de registros de acordo com parâmetros com o usuário escolher.
[As partes desta mensagem que não continham texto foram removidas]