Teradata教程

Teradata 统计

Teradata 优化器为每个 SQL 查询提供了一个执行策略。此执行策略基于对 SQL 查询中使用的表收集的统计信息。使用 COLLECT STATISTICS 命令收集表上的统计信息。优化器需要环境信息和人口统计数据才能提出最佳执行策略。

环境信息

节点、AMP 和 CPU 的数量 内存量

数据人口统计

行数 行大小 表中的值范围 每个值的行数 Null 数
在表格上收集统计信息有三种方法。
随机 AMP 采样 完整的统计数据收集 使用 SAMPLE 选项

收集统计数据

COLLECT STATISTICS 命令用于收集表的统计信息。

语法

以下是收集表统计信息的基本语法。
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
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4