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

DB2 數據庫對象全景圖:從 SQL 分類到存儲管理核心組件

     編輯:DB2 教學

SQL 三大語言類別

類別全稱核心操作
DDLData Definition LanguageCREATE/ALTER/DROP 數據庫對象
DMLData Manipulation LanguageSELECT/INSERT/UPDATE/DELETE 記錄
DCLData Control LanguageGRANT/REVOKE 存取控制

數據類型體系

  • 內置類型:數值、字符串、日期時間、二進制、XML 等
  • 用戶自定義類型 (UDT):
    1. 區分類型:基於內置類型賦予業務語義
    2. 結構類型:包含多屬性的複雜類型
    3. 引用類型:指向結構類型實例的引用

表的三種形態

  1. 永久表 (基表):CREATE TABLE 創建,持久化存儲
  2. 聲明臨時表 (DGTT):V7 引入,僅在會話/程序生命周期內存在,DECLARE GLOBAL TEMPORARY TABLE
  3. 派生臨時表:查詢中間結果集,無顯式定義

表空間:邏輯存儲層

位於數據庫與物理表之間,類比:書(表) → 書架(表空間) → 書櫃(數據庫)

類型管理方式特點
SMS (System Managed Space)操作系統文件系統簡單、自動擴展、性能一般
DMS (Database Managed Space)數據庫管理容器(文件/裸設備)性能優、可精細控制、需手動管理

索引:雙刃劍

核心價值

  1. 強制唯一性(主鍵/唯一索引)
  2. 大幅提升查詢性能(含覆蓋索引避免回表)

維護代價

INSERT/UPDATE/DELETE 需同步更新索引,導致寫入性能下降。需權衡讀寫比例。

日誌機制:預寫式日誌 (WAL)

  • 修改先寫日誌,再應用到數據頁
  • V8 單日誌文件上限 256GB,長事務可能超限
  • 配置 LOGFILSIZ、LOGPRIMARY、LOGSECOND 控制日誌空間

存儲管理核心三件套

  1. 緩衝池:分配內存緩存數據/索引頁。UNIX 默認 IBMDEFAULTBP 1000 頁(4KB);其他平台 250 頁。多緩衝池可隔離熱冷數據、減少 I/O 爭用。
  2. 表空間:邏輯容器,映射到物理存儲
  3. 容器:為表空間分配物理空間(目錄/文件/裸設備)

CPU 與內存調優要點

  • 配置物理/虛擬內存上限,防止交換
  • 根據工作負載類型(OLTP/OLAP)調整緩衝池大小與頁面大小
  • 監控緩衝池命中率、異步讀寫比例、排序溢寫等指標
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved