Db2 简明教程
DB2 - Bufferpools
本章为您介绍了数据库中的缓冲池。
Introduction
缓冲池是指数据库管理器分配的主存储空间部分。缓冲池的目的是从磁盘缓存表和索引数据。所有数据库都有自己的缓冲池。在新数据库创建时,会创建一个默认缓冲池。它被称为“IBMDEFAULTBP”。根据用户要求,可以创建多个缓冲池。在缓冲池中,数据库管理器将表行数据作为一个页面放置。此页面会一直驻留在缓冲池中,直到关闭数据库或用新数据写入该空间。缓冲池中已更新数据但未写入磁盘的页面称为“脏”页面。在缓冲池中更新的数据页面写入磁盘后,缓冲池就准备好接收其他数据。
Relationship between tablespaces and bufferpools
每个表空间都与数据库中的特定缓冲池相关联。一个表空间与一个缓冲池相关联。缓冲池和表空间的大小必须相同。多个缓冲池允许您配置数据库使用的内存,以提高其整体性能。
Listing the available bufferpools in the current database directory
Syntax : [下面的语法显示数据库中所有可用的缓冲池]
db2 select * from syscat.bufferpools
Example : [要查看当前数据库中的可用缓冲池]
db2 select * from syscat.bufferpools
Output:
BPNAME BUFFERPOOLID DBPGNAME NPAGES PAGESIZE ESTORE
NUMBLOCKPAGES BLOCKSIZE NGNAME
------------------------------------------------------------
IBMDEFAULTBP
1 -
-2 4096 N 0 0 -
1 record(s) selected.
Creating the bufferpool
要为数据库服务器创建新的缓冲池,您需要两个参数,即“缓冲池名称”和“页面大小”。执行以下查询以创建新的缓冲池。
语法:[在下面的语法中,“bp_name”表示缓冲池名称,“size”表示您需要为缓冲池声明的页面大小 (4K、8K、16K、32K)]
db2 create bufferpool <bp_name> pagesize <size>
Example : [要创建一个名称为“bpnew”、大小为“8192”(8Kb) 的新缓冲池。]
db2 create bufferpool bpnew pagesize 8192
Output
DB20000I The SQL command completed successfully.