Boa tarde pessoal,
Gostaria de uma dica de qual a melhor forma de buscar dados em um banco? O cenário é o seguinte: eu estou gerando uma planilha como esta:
Itens 16/ago 17/ago 18/ago 19/ago 20/ago 21/ago 22/ago MÉDIA
Item1 99,22 99,18 98,94 99,11 98,98 98,95 99,26 99,09
Item2 99,40 99,43 99,29 99,05 99,52 99,45 98,81 99,28
Item3 99,29 99,33 99,15 99,27 98,99 99,36 99,28 99,24
...
...
Hoje eu estou buscando item por item no banco e preencho a planilha
select * from itens where item = 'Item1' and dia between '2011-08-15' and '2011-08-23' order by dia
Beleza… está funcionando!!! O problema é que são cerca de 5000 itens no banco… então eu faço 5000 selects !!! Isso gera um certa demora que eu gostaria de resolvê-la!!! O que eu gostaria é de uma dica de como “acelerar” essa busca.
Pensei em fazer apenas um select passando só o dia como parametro:
select * from itens where dia between '2011-08-15' and '2011-08-23'
Eu terei um resultado de cerca de 35000 registro (5000 itens * 7 dias). E depois o que eu faço? Coloco meus 35000 objetos num array/vector/list e afins? E como fazer a busca desses itens dentro dessa list?
Resumindo meu problema… É melhor fazer os 5000 selects e pegar meus dados já arranjados ou fazer apenas um select no banco, colocar os dados numa list e buscar item à item para arranjar em minha planilha? Qual método é mais rápido? Ou tem algum método outro método que eu possa usar?
Obrigado…