@Leurimar Você precisa dessa informação em tempo real? ela pode ser, digamos, de ontem? caso sim. Você tem duas alternativas. Criar ma view matereializada (Oracle e SQL Server tem, outros bancos nao sei) onde voce consolidará todas as informações em um lugar só e toda noite voce atualiza ela. O problema disso é que aloca memoria do servidor. Alternativa para qualquer banco -> fazer uma procedure que dê carga em uma tabela (consolida a informacao nessa tabela) e faz ela limpar os dados e dar carga novamente toda noite... Tua query vai roda em 10 segundos (ou menos).
Fiz isso no trabalho e um relatorio que demorava quase 9 horas está saindo em 2 segundos independente da quantidade de parametros que eu colocar. Antes eu listava informações em tabelas com bilhões de linhas e hoje, listo apenas o período que quero e busco isso em menos de 200mil linhas. 2009/9/17 Erko Bridee de Almeida Cabrera <erko.bri...@gmail.com> > Hum pela descrição do problema, tendo Java + BlazeDS > poderiamos pensar num cenário: > > > BlazeDS + Messaging API > lembrando que isso estabelece um "canal" de comunicação entre Flex + APP > Java > com isso você chama o inicio da execução, e deixa lá processando no Java, > ao terminar > esse mesmo canal irá notificar a sua aplicação Flex com o respectivo > resultado de processamento > > @Leunir: o problema do tempo é que sua requisição do RO morre por > timeout... > > bom a descrição acima é uma alternativa mais "correta" usando os recursos > que o BlazeDS te disponibilizar, mas... > > bom fiquei curioso, então vamos as perguntas: > > - que tipo de SQL é essa que você faz que demora 20 mins? relatorio? > calculo? > - qual a periodicidade de execução dessa SQL? > - o resultado de calculo varia a cada execução dessa SQL? ou é um valor que > é fixo dependendo > dos paramentros de execução da SQL? > > para cenário de dados pesados vindo da base, normalmente recorro a > alternativas como: > > - tabela com resultados de calculos, como fechamento de balanço financeiro, > semanal, mensal, anual, > calculo de balanço de estoque de Warehouse, coisas do genero nosense que > demoram horrores para calcular > > nesses casos eu tenho processos de execução dos calculos que alimentam essa > tabelas auxiliares, ou mesmo tabela de indexação facilitada de dados, para > na hora de recuperar na aplicação não demore o mesmo tempo para a execução > do calculo... > > mas não sei que tipo de SQL vc está executando ae :P > > veja essa palestra do: Mario Junio > *Aplicações Colaborativas, Rápidas e Fácil com Java/Flex usando BlazeDS > Messaging API <http://experts.na3.acrobat.com/p64913899/>* > http://experts.na3.acrobat.com/p64913899/ > exemplo/download<http://flexmania.com.br/material/flexmania-sources-messaging-mario.zip> > > acho que vai te ajudar a ter alguma ideia de uso do Messaging que falei do > BlazeDS acima o/ > > -- > Att, > Erko Bridee de Almeida Cabrera > http://erkobridee.com/ > http://gospel.erkobridee.com/ > http://www.cwbfx.com/ > http://www.portaljava.com/ > http://twitter.com/ErkoBridee > Currículo: http://netcarreiras.com/prof.html?uid=11410 > > > > -- Atenciosamente, Rodrigo Valentim --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---