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ビューを使用してください。