教程 > DB2 教程 > DB2 基础 阅读:57

DB2 缓冲池

本章向大家介绍数据库中的缓冲池。

DB2 数据库缓冲池
DB2 数据库缓冲池

简介

缓冲池是由数据库管理器分配的主内存空间的一部分。 缓冲池的目的是从磁盘缓存表和索引数据。 所有数据库都有自己的缓冲池。 在创建新数据库时会创建默认缓冲池。 它称为“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 -     
 

创建缓冲池

要为数据库服务器创建一个新的缓冲池,我们需要两个参数,即“缓冲池名称”和“页面大小”。 执行以下查询以创建新的缓冲池。

语法

在下面的语法中,'bp_name' 表示缓冲池名称,'size' 表示您需要为缓冲池声明的页面大小(4K,8K,16K,32K)

db2 create bufferpool <bp_name> pagesize <size>

示例

创建名称为“bpnew”且大小为“8192”(8Kb) 的新缓冲池。

db2 create bufferpool bpnew pagesize 8192

输出

DB20000I The SQL command completed successfully.

删除缓冲池

在删除缓冲池之前,需要检查是否为其分配了任何表空间。

语法

删除缓冲池

drop bufferpool <bp_name>

示例

删除名为 bpnew 的缓冲池

db2 drop bufferpool bpnew

输出

DB20000I The SQL command completed successfully.

查看笔记

扫码一下
查看教程更方便