17.00 - 17.05 - AllSpaceVビューに関する警告 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Release Date
2020年6月
Content Type
管理
Publication ID
B035-1093-170K-JPN
Language
日本語 (日本)

DBC.AllSpaceVビューは、オブジェクト レベル(テーブル、結合インデックス、永久ジャーナル、ストアド プロシージャ)およびデータベース/ユーザー レベルでの領域使用量情報を提供します。ただしTeradataでは、DBC.AllSpaceVではなくDBC.DiskSpaceVビューおよびDBC.TableSizeVビューを使用することを推奨しています。DBC.AllSpaceVは誤解を招く結果を返すことがあるためです。

例えば、次の問合わせでは、各ユーザーまたはデータベースの詳細行およびサマリー行からの現在の固定領域情報が返されます。このビューでは、両方の種類の行からのデータが合計されてしまうことに注意してください。

SELECT DatabaseName
       ,Sum(CurrentPerm)
       FROM DBC.AllSpaceV
       GROUP BY 1 having sum(currentperm) > 0
       ORDER BY 2 desc;
DatabaseName                       Sum(CurrentPerm)
------------------------------  -------------------
DBC                                      47,183,872
Sys_Calendar                              2,648,064
SysAdmin                                  1,380,352
SYSLIB                                      319,488
SystemFe                                    148,480

しかし、DBC.DiskSpaceVを使用した同様の問合わせの場合、目的の結果が返され、ほとんどのシステムでは高速に実行されます。

SELECT DatabaseName
       ,Sum(CurrentPerm)
       FROM DBC.DiskSpaceV
       GROUP BY 1 having sum(currentperm) > 0
       ORDER BY 2 desc;
DatabaseName                       Sum(CurrentPerm)
------------------------------  -------------------
DBC                                      23,591,936
Sys_Calendar                              1,324,032
SysAdmin                                    690,176
SYSLIB                                      159,744
SystemFe                                     74,240

ビューDBC.DiskSpaceVにはサマリー行だけが含まれ、ビューDBC.TableSizeVには詳細行だけが含まれます。しかし、ビューDBC.AllSpaceVにはサマリー行と詳細行の両方が含まれます。AllSpaceVからcurrentpermを合計すると、サマリー行と詳細行の両方が合算された合計が算出されます。

データベース/ユーザー レベルでの領域使用量情報が必要な場合は、サマリー(ユーザー/データベース)行のみが選択されるDBC.DiskSpaceVビューを使用してください。オブジェクト レベルでの領域使用量情報が必要な場合は、DBC.TableSizeVビューを使用してください。