Teradata - Estadísticas
El optimizador de Teradata presenta una estrategia de ejecución para cada consulta SQL. Esta estrategia de ejecución se basa en las estadísticas recopiladas en las tablas utilizadas dentro de la consulta SQL. Las estadísticas de la tabla se recopilan mediante el comando COLLECT STATISTICS. Optimizer requiere información del entorno y datos demográficos para elaborar una estrategia de ejecución óptima.
Información medioambiental
- Número de nodos, AMP y CPU
- Cantidad de memoria
Datos demográficos
- Número de filas
- Tamaño de fila
- Rango de valores en la tabla
- Número de filas por valor
- Número de nulos
Hay tres enfoques para recopilar estadísticas sobre la mesa.
- Muestreo de AMP aleatorio
- Recopilación completa de estadísticas
- Usando la opción SAMPLE
Recopilación de estadísticas
El comando COLLECT STATISTICS se utiliza para recopilar estadísticas en una tabla.
Sintaxis
A continuación se muestra la sintaxis básica para recopilar estadísticas en una tabla.
COLLECT [SUMMARY] STATISTICS
INDEX (indexname) COLUMN (columnname)
ON <tablename>;
Ejemplo
El siguiente ejemplo recopila estadísticas sobre la columna EmployeeNo de la tabla Employee.
COLLECT STATISTICS COLUMN(EmployeeNo) ON Employee;
Cuando se ejecuta la consulta anterior, produce el siguiente resultado.
*** Update completed. 2 rows changed.
*** Total elapsed time was 1 second.
Visualización de estadísticas
Puede ver las estadísticas recopiladas mediante el comando HELP STATISTICS.
Sintaxis
A continuación se muestra la sintaxis para ver las estadísticas recopiladas.
HELP STATISTICS <tablename>;
Ejemplo
A continuación, se muestra un ejemplo para ver las estadísticas recopiladas en la tabla Empleado.
HELP STATISTICS employee;
Cuando se ejecuta la consulta anterior, produce el siguiente 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