在DB2中,bufferpool
是主記憶體儲器空間的一部分,由資料庫管理器分配。 緩衝池的目的是從磁碟快取表和索引資料。 所有資料庫都有自己的緩衝池。
在建立新資料庫時建立預設緩衝池。 它被稱為「IBMDEFAULTBP」。 可以根據需要建立多個緩衝池。在緩衝池中,資料庫管理器將錶行資料作為頁面放置。此頁面保留在緩衝池中,直到資料庫關閉或用新資料寫入空間。
緩衝池中的頁面用資料更新但未寫入磁碟,稱為「髒」頁面。 在緩衝池中更新的資料頁寫入磁碟後,緩衝池已準備好接收另一個資料。
緩衝池的預設頁面大小為4KB
。
當使用 CREATE DATABASE
命令時,將設定緩衝池大小。 如果未指定緩衝池的大小,則將其設定為4KB
。
建立緩衝池後,以後無法修改頁面大小。可列出可用的Bufferpool,列出當前資料庫中的所有可用緩衝池。
語法:
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.