DB2緩衝池


在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.