Pular para o conteúdo
  • Este tópico contém 2 respostas, 3 vozes e foi atualizado pela última vez 12 anos, 1 mês atrás por dcarvalho.
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #104686
    DBA_LUCAS
    Participante

      Bom dia galera !

      Estou com um problema em um procedimento meu que esta demorando muito, rodei um trace nele ontem porem tenho algumas duvidas para analizar o txt depois que o converti no TKPROF. Se puderem me ajudar ficarei muito grato.

      Vou colocar abaixo um dos comandos executados pelo procedimento , se puderem me explicar o que é relevante olhar e o que significa o que me ajudaria muito.

      DELETE FROM ETLCOMPRASGERAF
      WHERE
      (CDANOBI > :B3 ) OR (CDANOBI = :B3 AND CDMESBI >= :B2 ) AND ROWNUM = :B1

      call count cpu elapsed disk query current rows
      ------- ------ -------- ---------- ---------- ---------- ---------- ----------
      Parse 1 0.00 0.00 0 0 0 0
      Execute 133074 21138.25 21230.99 389 679875109 40017 1331
      Fetch 0 0.00 0.00 0 0 0 0
      ------- ------ -------- ---------- ---------- ---------- ---------- ----------
      total 133075 21138.25 21230.99 389 679875109 40017 1331

      Misses in library cache during parse: 1
      Misses in library cache during execute: 1
      Optimizer mode: ALL_ROWS
      Parsing user id: 393 (recursive depth: 1)

      Rows Row Source Operation
      ------- ---------------------------------------------------
      0 DELETE ETLCOMPRASGERAF (cr=5109 pr=0 pw=0 time=0 us)
      0 COUNT (cr=5109 pr=0 pw=0 time=0 us)
      0 FILTER (cr=5109 pr=0 pw=0 time=0 us)
      219002 TABLE ACCESS FULL ETLCOMPRASGERAF (cr=5109 pr=0 pw=0 time=140923 us cost=1609 size=15003042 card=223926)

      obrigado,

      att,

      #104695
      Fábio Prado
      Participante

        DBA_LUCAS,

        Para entender o trace é necessário ter uma série de conhecimentos prévios. Quem tem estes conhecimentos, só de bater o olho no trace já sabe o que está acontecendo. Eu ensino nos meus treinamentos de SQL Tuning (http://www.fabioprado.net/p/sql-tuning- … racle.html) e Performance Tuning DB (http://www.fabioprado.net/p/performance … abase.html), mas não tenho nada pronto para compartilhar e explicar aqui. Achei um artigo que pode ser o início para te ajudar: https://profissionaloracle.com.br/blogs/drbs/2009/06/

        []s

        Fábio Prado
        http://www.fabioprado.net

        #104705
        dcarvalho
        Participante

          Oi Lucas,

          Esse delete foi executado 133.074 para excluir apenas 1.331 registros. Estude a possibilidade de alterar a rotina para excluir em lote (com bulk collect forall), com isso, realizará apenas um table access full nos 5.109 blocos da tabela ETLCOMPRASGERAF apresentando ganho de 100% em relação ao cenário atual.

          Abraço,
          Danilo Carvalho
          profissionaloracle.com.br/blogs/dcarvalho

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