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

      Olá amigos,

      No arquivo de trace, depois de formatado com o tkprof, qual a diferença entre as colunas query e current no trace?

      Obrigado,
      Everson

      #91322
      fsitja
      Participante

        O “query” mostra quantas leituras de “visão consistente” (os famosos consistent gets) de dados foram feitas, aquela que possibilita o isolamento de transações. É o valor atual da linha, caso uma outra transação esteja nesse mesmo momento fazendo um um update na tal linha, por exemplo, mas não tenha executado o commit.

        O current read implementa a forma do Oracle saber qual o valor “atual” da linha, para descobrir se alguém mexeu nela entre sua leitura em modo consistente (query) e a execução da sua operação de fato sobre o block de dados (update, insert, delete…).

        Na prática seu objetivo ao escrever um SQL eficiente é reduzir o número de consistent gets. Os current vão ocorrer sempre que houver uma atualização em blocks, então são mais difíceis de evitar, exceto por selects for update mais amplos que o necessário.

        O blog do Tom Kyte mostra em detalhes como funciona e ajudará você a entender melhor, pois não consigo explicar de forma tão clara quanto ele.
        http://tkyte.blogspot.com/2005/08/somet … f-iii.html

        #91324
        David Siqueira
        Participante

          E ai brother..beleza?
          Então carinha da uma olhada nesse BLOG e veja se encontra as informações que precisa :

          http://databaseguard.blogspot.com/2009/07/tkprof-utilizar-ou-nao-e-porque-parte.html

          Abraço!
          Boa sorte!!!

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