Pular para o conteúdo
Visualizando 5 posts - 1 até 5 (de 5 do total)
  • Autor
    Posts
  • #94426
    fabrals
    Participante

      Olá 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 Pinto

      #94431
      CleitonHanzen
      Participante

        Opá…

        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.

        #94432
        CleitonHanzen
        Participante

          Opá…

          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.

          #94438
          Avatar photoLeonardo Litz
          Participante

            Ola 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

            #94442
            fsitja
            Participante

              Olá 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.

            Visualizando 5 posts - 1 até 5 (de 5 do total)
            • Você deve fazer login para responder a este tópico.