爲DB2/Z V10的DB2文檔必須在tablespaces section下面的代碼片段:爲什麼DB2爲每個表空間建議一個表?
一般情況下,你只能有一個在每個表空間表。
但它實際上並沒有提供任何理由。
我們有一些表中存儲內容大致如下(在複雜性大大降低,但應該足以說明)歷史的基於時間的信息:
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)
(每日表已經全部每小時記錄捲起成一天,並且每月表格與日常數據相同,將其捲入行中,日期爲YYYY-MM-01
)。
現在看來,這個表格在目的上都非常相似,我不確定爲什麼我們希望將它們保存在單獨的表空間中。
折扣現在把它們組合成一張表的可能性,這是我提出的一個建議,但是有一些併發症阻止它。
什麼是「一張表每個表空間」指南背後的基本原理是什麼?有什麼例外,如果有的話?我假設他們是可能是例外,因爲它似乎非常指導而非硬性規則。
我認爲這將與'PAGESIZE'(及其分割)有關,儘管我並不完全確定。但是,該規則與推薦的最大表空間數量相結合,將會產生非常小的表格集合。在這種情況下,您可能會合理地將它們放入一個表空間中 - 數據集很小並且相關。我不會將它們合併成一張表格 - 只需要一名新程序員將所有**記錄相加,而不是一種類型。如果您確實有足夠的數據來保證它們,那麼其他表格應該可能是MQT。 – 2012-02-21 17:21:43
@ X-Zero,你應該做出答案,即使假設能夠導出答案,也是有用的。 MQT是一個很好的建議,這是我們現在在代碼中明確做到的事情 - 我不確定在保留期限不同的情況下它是如何工作的(小時爲十天,每天爲一天,兩天爲每月),但這絕對是我會研究的。 – paxdiablo 2012-02-21 21:52:04