DB2 表空間是邏輯儲存單位,連結邏輯物件與物理容器。依管理模式分為兩大類:
| 類型 | 用途 | 預設名稱 | 備註 |
|---|---|---|---|
| 一般表空間 | 使用者資料表、索引、系統目錄 | USERSPACE1 | 索引預設與表同表空間,可分離 |
| 大型表空間 | LOB、XML、長欄位資料 | — | 僅支援 DMS |
| 系統暫存表空間 | 排序、重組、建立索引、連接等內部暫存資料 | TEMPSPACE1 | 建議僅建一個,頁面大小配合多數表 |
| 使用者暫存表空間 | 宣告全域暫存表(DGTT)資料 | — | 資料庫建立時不預設建立,需手動建立 |
系統目錄表空間 SYSCATSPACE 固定為一般表空間,不可刪除。
| 維度 | SMS | DMS |
|---|---|---|
| 容器形式 | 檔案系統目錄 | 預分配檔案 / 原始裝置 |
| 空間管理 | OS 自動擴展 | DB2 管理,滿時須手動擴容 |
| 管理複雜度 | 低 | 中高 |
| 典型效能 | 較低(檔案系統額外開銷) | 較高(繞過檔案系統、預分配減少碎片) |
| 適用場景 | 開發、測試、小型系統 | 生產、高負載、大型資料倉儲 |
CREATE TABLESPACE <名稱>
MANAGED BY SYSTEM
USING ('<目錄路徑1>', '<目錄路徑2>', ...);
多目錄可分布於不同磁碟,利用 OS 級負載均衡。下篇將詳細說明 DMS 建立語法與跨平台實戰範例。