Teradata - Estatísticas
O otimizador Teradata apresenta uma estratégia de execução para cada consulta SQL. Essa estratégia de execução é baseada nas estatísticas coletadas nas tabelas usadas na consulta SQL. As estatísticas na tabela são coletadas usando o comando COLLECT STATISTICS. O Optimizer requer informações do ambiente e dados demográficos para chegar a uma estratégia de execução ideal.
Informação Ambiental
- Número de nós, AMPs e CPUs
- Quantidade de memória
Dados Demográficos
- Numero de linhas
- Tamanho da linha
- Faixa de valores na tabela
- Número de linhas por valor
- Número de nulos
Existem três abordagens para coletar estatísticas sobre a mesa.
- Amostragem aleatória de AMP
- Coleta de estatísticas completa
- Usando a opção SAMPLE
Coletando Estatísticas
O comando COLLECT STATISTICS é usado para coletar estatísticas em uma tabela.
Sintaxe
A seguir está a sintaxe básica para coletar estatísticas em uma tabela.
COLLECT [SUMMARY] STATISTICS
INDEX (indexname) COLUMN (columnname)
ON <tablename>;
Exemplo
O exemplo a seguir coleta estatísticas na coluna EmployeeNo da tabela Employee.
COLLECT STATISTICS COLUMN(EmployeeNo) ON Employee;
Quando a consulta acima é executada, ela produz a seguinte saída.
*** Update completed. 2 rows changed.
*** Total elapsed time was 1 second.
Exibindo estatísticas
Você pode visualizar as estatísticas coletadas usando o comando HELP STATISTICS.
Sintaxe
A seguir está a sintaxe para visualizar as estatísticas coletadas.
HELP STATISTICS <tablename>;
Exemplo
A seguir está um exemplo para visualizar as estatísticas coletadas na tabela Employee.
HELP STATISTICS employee;
Quando a consulta acima é executada, ela produz o seguinte resultado.
Date Time Unique Values Column Names
-------- -------- -------------------- -----------------------
16/01/01 08:07:04 5 *
16/01/01 07:24:16 3 DepartmentNo
16/01/01 08:07:04 5 EmployeeNo