DB2緩衝池
本章介紹數據庫緩衝池。
介紹
緩衝池是由數據庫管理分配一個主存空間部分。緩衝池的目的是從磁盤高速緩存表和索引數據。所有數據庫都有自己的緩衝池。默認緩衝池是在創建新數據庫時創建的。它被稱爲「IBMDEFAULTBP」。根據用戶的要求,有可能創造一些緩衝池。在緩衝池,數據庫管理器放置錶行的數據作爲頁。當前頁停留在緩衝直到數據庫是關閉或直到空間被寫入新的數據。在緩衝的頁面,這是更新的數據,但不寫入到磁盤,被稱爲「髒」的頁面。後在緩衝更新的數據頁寫入磁盤上,緩衝池是準備採取另一個數據。
表空間和緩衝池之間的關係
每個表空間與數據庫中的一個特定的緩衝池相關聯。一個表空間與一個緩衝池相關聯。緩衝池和表空間的大小必須一致。多個緩衝池允許配置使用的數據庫,以提高其整體性能的內存。
緩衝池大小
緩衝池頁面的大小,當使用「CREATE DATABASE」命令設置。如果不指定頁面大小,將採取默認的頁面大小,這是4KB。一旦緩衝被建立,因此不可能以後修改頁大小
在當前數據庫目錄列出了可用的緩衝池
語法:[下面的語法顯示所有可用的緩衝池在數據庫]
db2 select * from syscat.bufferpools
例如:[要查看當前數據庫中可用的緩衝池]
db2 select * from syscat.bufferpools
輸出
BPNAME BUFFERPOOLID DBPGNAME NPAGES PAGESIZE ESTORE
NUMBLOCKPAGES BLOCKSIZE NGNAME
IBMDEFAULTBP
1 -
-2 4096 N 0 0 -
1 record(s) selected.
創建緩衝池
要創建數據庫服務器新的緩衝池,則需要兩個參數,即「緩衝池名」和「頁面大小」。下面的查詢執行創建一個新的緩衝池。
語法:在下面的語法中,「bp_name」表示緩衝池的名字,'size'表示頁面大小,需要聲明的緩衝池(4K,8K,16K,32K)
db2 create bufferpool <bp_name> pagesize
例如:要創建一個新的緩衝池名稱爲「bpnew」和大小「8192」(8KB)。]
db2 create bufferpool bpnew pagesize 8192
輸出
DB20000I The SQL command completed successfully.
刪除緩衝池
丟棄緩衝之前,需要檢查是否有任何表被分配給它。
語法:[要刪除的緩衝池]
drop bufferpool <bp_name>
例如:要刪除名爲'bpnew「的緩衝池]
db2 drop bufferpool bpnew
輸出
DB20000I The SQL command completed successfully.