Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como entender as estatísticas do arquivo de rastreamento no Oracle. Como CPU, tempo decorrido, consulta... etc


A menor unidade de acesso a dados no Oracle Database é um bloco. Nem uma fila.

Cada bloco pode armazenar muitas linhas.

O banco de dados pode acessar um bloco no modo atual ou consistente.
  • Atual =pois o bloco existe "agora".
  • Consistente =como o bloqueado existia no momento em que sua consulta foi iniciada.

As colunas query e current informam quantas vezes o banco de dados acessou um bloco no modo consistente (consulta) e atual.

Ao acessar um bloco ele já pode estar no cache do buffer (memória). Nesse caso, nenhum acesso ao disco é necessário. Se não, tem que fazer uma leitura física (pr). A coluna do disco é uma contagem do total de leituras físicas.

As estatísticas de cada linha no plano são os números dessa operação. Mais a soma de todas as suas operações filhas.

Em termos simples, o banco de dados processa o plano acessando primeiro o primeiro filho. Em seguida, passa as linhas para o pai. Em seguida, todas as outras operações filho desse pai em ordem. As operações filho são recuadas de seu pai na exibição.

Então o banco de dados processou sua consulta assim:
  1. Leia 2.000 linhas de CUSTOMER. Isso exigiu 749 obtenções de blocos consistentes e 363 leituras de disco (valores cr e pr nesta linha). Isso levou 10.100 microssegundos.
  2. Leia 112.458 linhas de BOOKING. Isso fez 8.203 leituras consistentes e zero leituras de disco. Isso levou 337.595 microssegundos
  3. Uniu essas duas tabelas usando uma junção de hash. Os valores de CR, PR, PW (gravações físicas) e tempo são a soma das operações abaixo disso. Além do trabalho que esta operação fez. Então a junção de hash:
    • fez 8.952 - ( 749 + 8.203 ) =zero leituras consistentes
    • fez 363 - ( 363 + 0 ) =zero leituras físicas
    • levou 1.363.447 - ( 10.100 + 337.595 ) =1.015.752 microssegundos para executar

Observe que os totais de CR e PR para a junção de hash correspondem aos totais da consulta e do disco na linha de busca?

A coluna de contagem informa o número de vezes que a operação ocorreu. Uma busca é uma chamada ao banco de dados para obter linhas. Assim, o cliente ligou para o banco de dados 7.499 vezes. Cada vez que recebia ceil( 112.458 / 7.499 ) =15 linhas.

CPU é o tempo total em segundos que os processadores do servidor estavam executando essa etapa. Decorrido é o tempo total do relógio de parede. Este é o tempo de CPU + qualquer trabalho extra. Como leituras de disco, tempo de rede, etc.