Boa tarde pessoal,
Estou com um grande problema. Tenho uma tela responsável por exibir varios gráficos que são carregados em javascript. Os dados dos mesmos vem do servidor e são muito grandes, pois temos uma linha por minuto, que em um mês serão 129600 registros, por items que vou exibir no gráfico. Um dos gráficos possuem 3 deles o que me da 388800 registros, para eu passar para JSON e devolver para o cliente.
Isso tem tomado um tempo grande, fazendo parecer inclusive que a tela esta travou e não trouxe nada. Para otimizar e aumentar a paciência do usuario, acredito que seria uma boa mostrar uma barra de progresso, para isso pensei nas sequintes soluções que não sei se são possivel de implementar.
1 - Faço várias requisições para o servidor que vai me retornando por blocos pequenos.
Pró: Após a primeira requisição, sei quantos registros tem e posso ir incrementando a barra de progresso
Contra: Muitas requisições para o servidor e consequentemente para o banco também
2 - Faço uma requisição só, porém conforme eu for processando eu ja vou enviando para o cliente.
Prós: Uma requisição só para o servidor e para o banco, e conforme vou respondendo para o cliente, também vou atualizando a barra de progresso.
Contra: Não identifiquei.
É possivel realizar a segunda opção? Caso não, o que acharam da primeira? Alguma solução melhor?
Muito Obrigado