Existe várias formas de você otimizar a consulta, uma delas é no select da
base, onde vc deve começar filtrando do atributo mais restritivo ao menos
restritivo, tipo select na tabela que vai conter os dados que menos vão
aparecer fazendo join nas tabelas que menos restritivas, ex.:
Ao invés de fazer um select em ItemsPedido com join em pedido, faça um
select em pedido fazend join em itensPedido, cliente etc...
também é possivel otimizar sua aplicação usando hibernate cahe para
consultas demoradas.
LinkedLyst sao mais rápidas que ArrayList para inserção de elementos no
entanto ArrayList é mais rápido para remoção de elementos
Considere usar o padrão decorator ond vc cria um objeto com os atributos
específicos para o arquivo csv, e também c vc não está trazendo muito objeto
pendurado (Consulte o Lazy do JPA)em cascata no seu select, tipo informação
não utilizada para esse arquivo csv
Tavez seja interessante usar sql nativo ao invés de critéria ou HQL... caso
não esteja usando o decorator
no mais poste o código do select pra gente ver e depois o código que chama a
lista para vc iterar sobre ela..
Fallow
Abraço
Em 6 de julho de 2011 16:11, Leonardo Nardi <dsnardi@gmail.com> escreveu:
> Olá a todos do grupo!
>
> Estou enfrentando um problema no momento em que estou gerando um arquivo
> CSV. O que acontece é que, para uma determinada consulta, há o retorno de
> 11353 registros do BD. Isto está demorando muito no instante da chamada do
> método que varre a lista com estes registros(11353) e vai gerando o
> arquivo.
> No final dá timeout, dando erro 404 na tela e não gera o arquivo. Para
> gerá-lo estou criando o seguinte objeto:
>
> *RegistroBean registroBean;*
> *PrintWriter printWriter = new PrintWriter(response.getWriter(), false);*
> *BufferedWriter bw = new BufferedWriter(printWriter);*
> *
> for(Iterator it = listaX.iterator(); it.hasNext();) {
> registroBean = (RegistroBean) it.next();
> *
> bw.write("Dado 1");
> bw.write(';');
> bw.write("Dado 2");
> bw.write(';');
>
> Gostaria de saber o que posso fazer para otimizá-lo?
>
> Desde já, antecipadamente, agradeço a atenção dispensada.
>
> Leonardo Nardi
>
> "Quando plantardes para um ano, semeai grão. Quando plantardes para uma
> década, plantai árvores. Quando plantardes para uma vida, educai o homem.
> Se
> derdes ao homem um peixe, ele se alimentará uma vez. Se lhe ensinardes a
> pescar, ele se alimentará a vida inteira."
> Autor: Kuan Tzu - III Século a.c.
>
> "A ciência sem religião é aleijada;
> a religião sem ciência é cega."
> Autor: Albert Einstein
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
> Para upload/download de arquivos:
> http://www.yahoogroups.com/files/java-brLinks do Yahoo! Grupos
>
>
>
--
Paulo Roberto de A.S. Leite
[As partes desta mensagem que não continham texto foram removidas]
------------------------------------
Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-brLinks do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/java-br/
<*> Para sair deste grupo, envie um e-mail para:
java-br-unsubscribe@yahoogrupos.com.br
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html







0 comentários:
Postar um comentário