- Este tópico contém 4 respostas, 4 vozes e foi atualizado pela última vez 15 anos, 9 meses atrás por
fsitja.
-
AutorPosts
-
7 de junho de 2010 às 8:50 pm #94426
fabrals
ParticipanteOlá Pessoal!
Acho que já é de conhecimento de muitos que o connect by não funciona muito bem no Oracle 9i, certo?
Não sei se isto é um mito ou se realmente é um bug desta versão (não achei nada de concreto na web), mas pelos problemas que estou enfrentando ultimamente no meu trabalho, estou crente de que é um problema.
No 10g, não tive muitos problemas com isto, porém em um cliente o select não vai nem com reza.
Pesquisando na web, vi que tem alguns parâmetros que podem ser setados para melhora deste comando.
Alguém sabe me dizer se realmente existe alguma alteração (parâmetro) que influencia na performance de connect by?
Abs,
Fabrício Pinto7 de junho de 2010 às 11:08 pm #94431CleitonHanzen
ParticipanteOpá…
Intaum, quando se fala de performance de Queries, existe um mundo complexo por trás da performance ruim.
Comparar performance em versões iguais de Oracle é até aceitável (isso considerando ambientes IGUAIS), mas em versões diferentes é impossível. Veja que no 10G houveram muitas melhorias no otimizador do próprio Software Oracle.
Comece olhando o plano de execução (que com certeza estará diferente), quantidade de registros, estatísticas atualizadas.
Lembre-se, parâmetro de banco é a última coisa que se altera para melhorar performance de Query, isso se deve ao fato de que, quando for alterado parâmetro de banco você altera o comportamento de TODAS as consultas que executam neste banco.
7 de junho de 2010 às 11:08 pm #94432CleitonHanzen
ParticipanteOpá…
Intaum, quando se fala de performance de Queries, existe um mundo complexo por trás da performance ruim.
Comparar performance em versões iguais de Oracle é até aceitável (isso considerando ambientes IGUAIS), mas em versões diferentes é impossível. Veja que no 10G houveram muitas melhorias no otimizador do próprio Software Oracle.
Comece olhando o plano de execução (que com certeza estará diferente), quantidade de registros, estatísticas atualizadas.
Lembre-se, parâmetro de banco é a última coisa que se altera para melhorar performance de Query, isso se deve ao fato de que, quando for alterado parâmetro de banco você altera o comportamento de TODAS as consultas que executam neste banco.
8 de junho de 2010 às 5:56 am #94438Leonardo Litz
ParticipanteOla Fabrals…
Ja tentou utilizar um metodo alternativo???
Voce pode tentar fazer uma funcao recursiva para montar sua arvore e apresenta-la em um outra funcao de pipelined.
Talvez resolva teu problema…
Valeu Leonardo Litz
8 de junho de 2010 às 7:09 am #94442fsitja
ParticipanteOlá febrals,
seja bem-vindo ao fórum.
Concordo com o Cleiton, teria que verificar antes o SQL para descobrir se o problema é culpa do connect by mesmo ou não. Parâmetro do banco dificilmente vai resolver sem causar algum efeito colateral indesejado.
Se você quiser postar o problema que ela resolve, a query e seu plano de acesso, alguns dados simplificados de exemplo para testarmos uma possível solução alternativa, fique à vontade.
Abraço,
Francisco. -
AutorPosts
- Você deve fazer login para responder a este tópico.