Teradata - 統計資訊



Teradata 最佳化器會為每個 SQL 查詢提出一個執行策略。此執行策略基於在 SQL 查詢中使用的表上收集的統計資訊。表上的統計資訊是使用 COLLECT STATISTICS 命令收集的。最佳化器需要環境資訊和資料人口統計資訊才能制定出最佳的執行策略。

環境資訊

  • 節點、AMP 和 CPU 數量
  • 記憶體容量

資料人口統計資訊

  • 行數
  • 行大小
  • 表中值的範圍
  • 每個值的行數
  • 空值數量

有三種方法可以收集表上的統計資訊。

  • 隨機 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
廣告

© . All rights reserved.