在DB2中,bufferpool
是主記憶體空間的一部分,由資料庫管理器分配。 緩衝池的目的是從磁片緩存表和索引數據。 所有資料庫都有自己的緩衝池。
如何創建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.