Teradata 統(tǒng)計

2018-01-12 14:09 更新

Teradata優(yōu)化器提出了每個SQL查詢的執(zhí)行策略。 此執(zhí)行策略基于在SQL查詢中使用的表收集的統(tǒng)計信息。 使用COLLECT STATISTICS命令收集表上的統(tǒng)計信息。 優(yōu)化器需要環(huán)境信息和數(shù)據(jù)人口統(tǒng)計數(shù)據(jù)來制定最佳執(zhí)行策略。

環(huán)境信息

節(jié)點數(shù),AMP和CPU數(shù)
內(nèi)存量

數(shù)據(jù)人口統(tǒng)計

行數(shù)
行大小
表中的值范圍
每個值的行數(shù)
空數(shù)
有三種方法來收集表上的統(tǒng)計信息。
  • 隨機AMP采樣
  • 全面統(tǒng)計收集
  • 使用SAMPLE選項
  • 收集統(tǒng)計
COLLECT STATISTICS命令用于收集表上的統(tǒng)計信息。

語法

以下是收集表上的統(tǒng)計信息的基本語法。

COLLECT [SUMMARY] STATISTICS   
INDEX (indexname) COLUMN (columnname) 
ON <tablename>;

例子

以下示例收集Employee表的EmployeeNo列的統(tǒng)計信息。

COLLECT STATISTICS COLUMN(EmployeeNo) ON Employee;

當執(zhí)行上述查詢時,它將產(chǎn)生以下輸出。

*** Update completed. 2 rows changed. 
*** Total elapsed time was 1 second.

查看統(tǒng)計信息

您可以使用HELP STATISTICS命令查看收集的統(tǒng)計信息。

例子

以下是查看收集的統(tǒng)計信息的語法。

HELP STATISTICS <tablename>; 

例子

以下是查看在Employee表上收集的統(tǒng)計信息的示例。

HELP STATISTICS employee;

當執(zhí)行上述查詢時,它產(chǎn)生以下結果。

  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
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號