首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

資料庫物理設計:存取方法選擇、存儲結構規劃與運行維護全周期

     編輯:DB2 教學

資料庫物理設計:存取方法選擇、存儲結構規劃與運行維護全周期

物理設計目標:為邏輯模型選擇**最適合應用環境的物理結構** (存取方法 + 存儲結構),平衡時間/空間/維護代價。

一、物理設計三步走

  1. 確定物理結構:存取方法 (索引/聚簇/Hash)、存儲結構 (表/索引/聚簇/日誌/備份位置)。
  2. 評價物理結構:定量估算存儲空間、存取時間、維護代價,權衡選優。
  3. 不滿足 → 重設計或回邏輯設計;滿足 → 進入實施。

二、關係模式存取方法選擇

1. 索引 (B+樹為主)

建立規則:

  • 頻繁出現在 Where 條件 → 索引/組合索引。
  • 頻繁作 Max/Min 參數 → 索引。
  • 頻繁作 Join 條件 → 索引。
  • 唯一性業務鍵 → Unique Index。
  • **索引過多** → 維護開銷 (DML 慢)、優化器選擇開銷大。

2. 聚簇

將同一聚簇鍵值的元組**物理連續存放**。

  • 優勢:範圍查詢/等值查詢大幅減少 I/O;節省空間 (鍵值不重複存);Order By/Group By/Distinct 免排序。
  • 劣勢:全表掃描變慢;更新聚簇鍵需移動行;建立/維護代價大;一表只能屬於一個聚簇。
  • 適用:按聚簇鍵訪問為主、鍵值重複率高 (平均每鍵值多行)、多表預連接 (如 學號 聚簇 學生+選課)。

3. Hash

適用條件:

  • 主為等值查詢/等值連接。
  • 表大小可預知且固定,或 DBMS 支援動態 Hash。

三、存儲結構規劃原則

  • 易變/穩定分離:熱數據與冷數據分檔案組/磁碟。
  • 高頻/低頻分離:核心表、索引放高速磁碟 (SSD/RAID10);日誌、備份、歸檔放大容量低速磁碟/磁帶。
  • 並行 I/O:大表拆分不同磁碟;表與索引分離;Redo Log 獨立磁碟。
  • DBMS 參數調優:緩衝區大小、並發用戶數、打開對象數等。

四、物理結構評價指標

維度指標衝突點
空間存儲利用率、壓縮比三者常相互制約:去冗餘省空間但增 Join;索引加速查詢但增空間/維護
時間平均查詢響應、吞吐量、批次窗口
維護重組頻率、備份窗口、統計收集耗時

必須**權衡折中**,選總代價最小方案。

五、實施與運行維護

  1. 分期分批入庫:先小量測試 → 試運行合格 → 大批量 → 漸增評價。
  2. 轉儲/恢復:試運行階段頻繁備份,防誤操作/故障。
  3. 正式運行 DBA 職責:備份恢復、安全/完整性、性能監控分析優化、重組織/重構造。

重組織 vs 重構造

  • 重組織:不變邏輯/物理結構,回收碎片、減少指針鏈、調整存儲位置 (全量/增量)。
  • 重構造:調整模式/內模式 — 增欄位、改類型、擴容、增減索引、改約束。

六、三級模式形成回顧

需求分析 → 概念設計 (E-R) → 邏輯設計 (關係模式 + View) → 物理設計 (索引/聚簇/存儲) → 內模式。每階段產出物為下階段輸入。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved