數據庫對象
SQL可分為三大類:
1、 DDL,數據定義語言,用於創建、修改、刪除數據庫對象
2、 DML,數據操縱語言,用於選擇、插入、更新和刪除數據庫記錄
3、 DCL,數據控制語言,用於提供數據對象存取控制
數據類型
1、 內置數據類型
2、 用於自定義數據類型
a) 自定義區分類型,UDT允許在已有的內置數據類型的基礎上創建自己語義的新數據類型。
b) 自定義結構類型
c) 自定義引用類型
表有三種:
1、 永久表,也叫基表,使用create table創建
2、 臨時聲明表,臨時表是從DB2 V7引入的特性,該特性使應用開發人員可以創建僅在程序有效期內使用的臨時表
3、 臨時派生表
表空間是數據庫及存儲在該數據庫中的表之間的邏輯層、DB2支持2中表空間
1、 系統管理表空間SMS
2、 數據庫管理空間DMS,這是一個文件系統
索引
1、 確保數據值的一致性
2、 提高SQL查詢性能
在索引中可以添加額外值,該值可被優化器用於獲取非鍵值。從索引中而不是從數據頁中獲取結果集同樣可以提高查詢性能
索引維護開銷會給insert、update、delete語句性能帶來負面影響
DB2采用預寫日志的方法,修改首先被寫到日志中,再對物理數據庫表實施這些修改,在V8中,日志文件可以達到256G,在某些事件中,事務會超出該限制
數據庫存儲管理
能夠高效的存儲和快速獲取大量數據是任何DBA的職責。數據的物理存儲會影響查詢性能。
CPU和內存
緩沖池在DB2的性能優化中是非常重要的一個部分,如何配置物理內存和虛擬內存,如何配置DB2的內存使用和緩沖池非常重要。
緩沖池——給DB2分配內存
表空間——存放數據的物理表和數據庫間的邏輯層,類似書-物理表、書架-表空間、書櫃-數據庫
容器——為表空間分配存儲空間
過多的磁盤讀寫導致的IO性能,可以考慮建立多個緩沖池。UNIX上,建立一個數據庫就默認一個緩沖池IBMDEFAULTBP大小是1000頁4KB大小,而在其他平台上是250頁4KB大小