ORACLE Tuning: Interpretando Dados Estatísticos

ORACLE Tuning

Neste artigo será tratado sob como interpretar dados estatísticos obtidos do Banco de Dados Oracle durante um Tuning.

Saber obter dados estatísticos do Banco de Dados Oracle é muito importante, mas o mais importante ainda é saber interpretá-los para poder ajudá-lo num plano de ação.

Como DBAs muitas vezes necessitamos fazer testes de performances e estresse nos ambientes que somos responsáveis, sendo assim, precisamos definir estratégias e planos de testes, contudo saber interpretá-los é tão importante quanto definirmos planos e estratégias.

Veja no exemplo abaixo:

appuser@MinhaEmpresa > EXPLAIN PLAN FOR
  2  SELECT my_tables.owner,
  3         my_tables.table_name,
  4         my_tables.tablespace_name,
  5         my_indexes.status
  6    FROM my_tables,
  7         my_indexes
  8   WHERE my_tables.owner = my_indexes.table_owner
  9     AND my_tables.table_name = my_indexes.table_name
 10     AND my_indexes.index_type = 'FUNCTION-BASED NORMAL';

Explained.

appuser@MinhaEmpresa >

Em seguida, neste exemplo, utilizaremos a query abaixo:

select * from table(dbms_xplan.display(null, null, 'projection'));

Obtivemos o seguinte resultado:

Afinal, o que significa cada coluna ?

Pois bem, cada coluna acima esta representado abaixo:

ROWS → Cardinalidade da operação;
COST → Recursos para execução da operação;
Bytes → Soma média de Bytes das colunas referenciadas;
TIME → Tempo gasto em cada operação.

Na coluna TIME, muito provavelmente as operações foram executadas em milissegundos, contudo no ‘diagrama’ apresentado pelo ORACLE, será apresentado 1 segundo. A partir deste conceito, você poderá construir planos mais elaborados de Tuning e testes de estresse.

Referência