Pular para o conteúdo
  • Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 7 anos, 8 meses atrás por Avatar photoJosé Laurindo Chiappa.
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #108764
    viralata
    Participante

      Pessoal

      Bom dia, alguém tem um passo a passo de como utilizar o DBMS_PARALLEL_EXECUTE , e quando usar

      CREATE_CHUNKS_BY_NUMBER_COL
      CREATE_CHUNKS_BY_ROWID
      CREATE_CHUNKS_BY_SQL

      Quando podemos usar um ou outro e como , Enfim só sei que nada sei 😳 🙁

      #108765
      Avatar photoJosé Laurindo Chiappa
      Moderador

        Blz ? Então, acho que a primeira coisa é vc ** entender ** pra que serve esse cara : a questão é que o RDBMS Oracle (muito parecido com o SQL SERVER, com o DB2, etc) é vendido em diversos “pacotes”, as chamadas EDITIONS ou Edições…. A ENTERPRISE EDITION é a mais poderosa e já vem com um montão de capacidades (e por isso mesmo a mais cara 🙂 , e entre essas muitas ele tem nativamente a capacidade de Automaticamente dividir um SQL grande e pesado/demorado em múltiplas sessões-escravas, cada uma lendo um pedacinho da tabela – isso é chamado de PARALLEL SQL….
        O que essa package DBMS_PARALLEL_EXECUTE faz é *** simular *** esse recurso para quando vc NÂO ESTÁ USANDO uma Edition capaz de automaticamente paralelizar teu SQL longo e complexo, okdoc ??? Então SAIBA que esse ‘paralelismo de pobre’ / ‘paralelismo manual’ só deve ser usado CASO vc não tenha acesso á coisa real por qquer motivo, NORMALMENTE pelo motivo de a Empresa estar fazendo economia e não ter comprado uma Edition totalmente capaz….

        Sendo esse o caso (e ** REPITO **, vc está meio que REINVENTADO A RODA aqui, só use isso se REALMENTE, ABSOLUTAMENTE, TOTALMENTE NÂO TIVER ACESSO ao SQL PARALELO nativo), essas rotinas CREATE_CHUNCKS_xxxx que estão dentro dessa package servem para vc indicar COMO vc quer separar o SQL grandão e pesado entre as sessões escravas : por exemplo, se vc usar a CHUNS_ROWID vc sinaliza que cada uma das sessões escravas pegue um intervalo de linhas/rowid – tipo, ao mesmo tempo que a sessão escrava 1 está lendo as linhas de 1 até 10000 a sessão 2 está lendo as linhas de 10001 até 20000, assim por diante…

        Deu uma boa esclarecida ?? Aí agora dá uma estudada no Manual da tua versão de banco sobre essa package para ver as sintaxes (quase TODAS as versões tem a documentação online em docs.oracle.com), e pesquisando em asktom.oracle.com vc acha ** diversos ** exemplos , como https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:9527753900346718862 ou https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:4248554900346593542 , veja lá…

        Se depois do estudo E de ler os exemplso ainda tiver dúvidas,manda pra gente os CREATE TABLEs (e uns INSERTs populando dados, se possível) e nos explica o que vc quer fazer que a gente pode tentar criar um exemplo Customizado pra vc…

        []s

        Chiappa

        #108766
        Avatar photoJosé Laurindo Chiappa
        Moderador

          Ah, uma indicação adicional : tava procurando por outra coisa completamente diferente pro meu trabalho, coincidentemente caí em https://oracle-base.com/articles/11g/dbms_parallel_execute_11gR2, achei bem legal e didático o artigo, fica aí como indicação Adicional pra vc além da Documentação e do asktom ….

          []s

          Chiappa

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