DB2 / z v10のDB2ドキュメントでは、表領域セクションに次のスニペットがあります。
原則として、各テーブルスペースには1つのテーブルのみが必要です。
しかし、それは実際にはこれの論理的根拠を提供しません。
次の行に沿って過去の時間ベースの情報を格納するテーブルがいくつかあります(複雑さは大幅に軽減されていますが、説明するには十分なはずです)。
Table HOURLY_CPU_USAGE:
RecDate date
RecTime time
Node char(32)
MaxCpuUsage float
primary key (RecDate, RecTime, Node)
Table DAILY_CPU_USAGE:
RecDate date
Node char(32)
MaxCpuUsage float
primary key (RecDate, Node)
Table MONTHLY_CPU_USAGE:
RecDate date
Node char(32)
MaxCpuUsage float
primary key (RecDate, Node)
(日次テーブルにはすべての時間単位のレコードが1日にロールアップされ、月次テーブルには日次データと同じようにロールアップされ、日付のある行にロールアップされますYYYY-MM-01
)。
このテーブルはすべて目的が非常に似ているように見えますが、なぜそれらを別々のテーブルスペースに保持したいのかわかりません。
今のところ、それらを1つのテーブルに結合する可能性を割り引いてください。これは私が行った提案ですが、それを妨げる複雑な問題があります。
「テーブルスペースごとに1つのテーブル」ガイドラインの背後にある理論的根拠は何ですか?もしあれば、例外は何ですか?厳格なルールというよりはガイドラインのように思われるので、例外かもしれないと思います。