Há um tempo atrás precisei adaptar um aplicativo que fizemos no trabalho, que retornava uma tabela grande, cheia de cálculos de evoluções. Nossa solução original era requisitar pro servidor uma nova tabela, ordenada pela escolha do usuário.
Isso deixava tudo muito lento, dando time-out constantemente.