DB2缓冲池

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.