DB2 資料庫的頁面大小(Page Size)在建立資料庫時確定(4K、8K、16K、32K 四種),它直接決定了表、索引、行、列、表空間等核心對象的物理上限。本文基於 DB2 7.x 版本規範(後續版本邊界值基本延續),整理完整對照表,供架構設計、容量規劃、遷移評估參考。
| 限制項目 | 4K 頁面 | 8K 頁面 | 16K 頁面 | 32K 頁面 | 備註 |
|---|---|---|---|---|---|
| 單表最大欄位數 | 500 | 1,012 | 1,012 | 1,012 | 8K 以上一致 |
| 單行最大長度 (Bytes) | 4,005 | 8,101 | 16,293 | 32,677 | 含行頭開銷,實際可用略小 |
| 單表分區最大規模 (GB) | 64 | 128 | 256 | 512 | DMS 表空間限制 |
| 單索引分區最大規模 (GB) | 64 | 128 | 256 | 512 | 同表分區限制 |
| SELECT 選擇清單最大欄位數 | 500 | 1,012 | 1,012 | 1,012 | |
| GROUP BY 欄位最大個數 | 500 | 1,012 | 1,012 | 1,012 | |
| GROUP BY 欄位總長度 (Bytes) | 4,005 | 8,101 | 16,293 | 32,677 | |
| ORDER BY 欄位最大個數 | 500 | 1,012 | 1,012 | 1,012 | |
| ORDER BY 欄位總長度 (Bytes) | 4,005 | 8,101 | 16,293 | 32,677 | |
| INSERT VALUES 最大欄位數 | 500 | 1,012 | 1,012 | 1,012 | |
| UPDATE SET 最大欄位數 | 500 | 1,012 | 1,012 | 1,012 | |
| 常規 DMS 表空間最大規模 (GB) | 64 | 128 | 256 | 512 | 大表空間/自動儲存表空間限制更高 |
若預估單表超過 512GB(32K 頁面上限),必須採用範圍分區表或多維聚簇 (MDC)將資料橫向拆分至多個分區,每分區獨立受限於上表單分區上限。
資料庫建立後無法變更頁面大小。異構遷移(如 Oracle 到 DB2)時,若源端行長超過目標頁面上限,需拆表、縮欄或調大頁面。建立新資料庫前務必進行行長度分析。
DB2 9.7+ 引入大表空間與自動儲存表空間,單表空間上限可達 64TB(32K 頁面),遠超常規 DMS 限制。新建系統強烈建議使用自動儲存表空間。
頁面大小是 DB2 架構設計的「基因」,決定了系統物理邊界的天花板。透過上表可快速評估業務模型是否超標,指導分區策略、表空間選型與遷移改造。建議將此對照表納入資料庫設計規範與架構評審清單。