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.