TableSizeV Viewの問合わせによるスキュー テーブルの検出例 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - データベースの管理

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/rgu1556127906220.ditamap
dita:ditavalPath
ja-JP/rgu1556127906220.ditaval
dita:id
B035-1093
Product Category
Software
Teradata Vantage

この例では、SELECT文は、各AMPに割り当てられたCurrentPermの数値(平均、最小、および最大)をUserデータベースの各テーブルに表示することで、十分に分散されていないテーブルを探します。各テーブルは個別に報告され、名前の順に並べられます。

SELECT
  TableName (FORMAT 'X(20)'),
  MIN(CurrentPerm) AS "AMP Minimum",
  AVG(CurrentPerm) AS "AMP Average",
  MAX(CurrentPerm) AS "AMP Maximum"
FROM DBC.TableSizeV
WHERE DatabaseName = 'USER'
GROUP BY TableName
ORDER BY TableName; 

TableName              AMP Minimum   AMP Average   AMP Maximum
--------------------   -----------   -----------   -----------
employee_nupi_ondept   4,096         15,488        30,208
employee_upi_onempid   18,944        19,200        19,968

結果として、2つのテーブルが表示されます。 次の点に注意する必要があります。

  • テーブルEmployee_upi_onempidは均等に分散されています。 CurrentPermは全vproc間でほぼ同じ(最小値と最大値が平均値に近い)です。 固定領域は、システム内のすべてのAMPに相対的に均等に分散されています。
  • テーブルEmployee_nupi_ondeptは十分に分散されていません。 CurrentPermの数値は、異なるAMP上で最小4,096バイトから最大30,208バイトまでの範囲に分散しているため、平均との差異が大きいことが分かります。