简介
缓冲池是主存储器空间的一部分,由数据库管理器分配.缓冲池的目的是从磁盘缓存表和索引数据.所有数据库都有自己的缓冲池.在创建新数据库时创建默认缓冲池.它被称为"IBMDEFAULTBP".根据用户要求,可以创建许多缓冲池.在缓冲池中,数据库管理器将表行数据作为页面放置.此页面保留在缓冲池中,直到数据库关闭或用新数据写入空间.缓冲池中的页面用数据更新但未写入磁盘,称为"脏"页面.在缓冲池中更新的数据页写入磁盘后,缓冲池已准备好接收另一个数据.
表空间和缓冲池之间的关系
每个表空间都与数据库中的特定缓冲池相关联.一个表空间与一个缓冲池相关联.缓冲池和表空间的大小必须相同.多个缓冲池允许您配置数据库使用的内存以提高其整体性能.
缓冲池大小
设置缓冲池页面的大小当您使用"CREATE DATABASE"命令时.如果未指定页面大小,则将采用默认页面大小,即4KB.创建缓冲池后,以后无法修改页面大小
列出当前数据库目录中的可用缓冲池
语法:[下面的语法显示了数据库中所有可用的缓冲池]
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.
创建缓冲池
要为数据库服务器创建新的缓冲池,需要两个参数,即"缓冲池名称" "和"页面大小".执行以下查询以创建新的缓冲池.
语法:[在下面的语法中,'bp_name'表示缓冲池名称,'size'表示您需要为缓冲池声明的页面大小(4K,8K,16K,32K)]
db2 create bufferpoolpagesize
示例:[创建名为"bpnew"且大小为"8192"(8Kb)的新缓冲池.]
db2 create bufferpool bpnew pagesize 8192
输出
DB20000I The SQL command completed successfully.
删除缓冲池
在删除缓冲池之前,需要检查是否为其分配了任何表空间.
语法:[删除缓冲池]
drop bufferpool
示例:[删除'bpnew'命名缓冲池]
db2 drop bufferpool bpnew
输出
DB20000I The SQL command completed successfully.