Teradata 统计
Teradata优化器提出了每个SQL查询的执行策略。 此执行策略基于在SQL查询中使用的表收集的统计信息。 使用COLLECT STATISTICS命令收集表上的统计信息。 优化器需要环境信息和数据人口统计数据来制定最佳执行策略。
环境信息
节点数,AMP和CPU数内存量
数据人口统计
行数行大小
表中的值范围
每个值的行数
空数
有三种方法来收集表上的统计信息。
- 随机AMP采样
- 全面统计收集
- 使用SAMPLE选项
- 收集统计
语法
以下是收集表上的统计信息的基本语法。COLLECT [SUMMARY] STATISTICS INDEX (indexname) COLUMN (columnname) ON <tablename>;
例子
以下示例收集Employee表的EmployeeNo列的统计信息。
COLLECT STATISTICS COLUMN(EmployeeNo) ON Employee;
当执行上述查询时,它将产生以下输出。
*** Update completed. 2 rows changed. *** Total elapsed time was 1 second.
查看统计信息
您可以使用HELP STATISTICS命令查看收集的统计信息。
例子
以下是查看收集的统计信息的语法。
HELP STATISTICS <tablename>;
例子
以下是查看在Employee表上收集的统计信息的示例。
HELP STATISTICS employee;
当执行上述查询时,它产生以下结果。
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