db2对缓冲池的性能优化

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

db2 对缓冲池的性能优化

博客分类:

DB2

db2 对缓冲池的性能优化

需求:因为项目开始的时候没有对DB2数据库进行深入的熟悉,所以造成项目后期做性能测试的时候,导致应用访问过慢,后来决定从数据方面做做一下性能优化,主要在于缓冲池方面。

解决方案:因为数据库中只有一个常规表空间表空间USERSPACE1和一个缓冲池

IBMDEFAULTDP(1G),所以决定重新再建一个大的缓冲池BP2,将USERSPACE1赋给BP2

CREATE BUFFERPOOL BP2 SIZE 2048 PAGESIZE 4K;

ALTER TABLESPACE USERSPACE1 BUFFERPOOL BP2;

附注:

以下为对网上资源学习后的一个总结:

1、表空间

I、数据存储层级关系:数据库-->表空间-->容器-->表,

II、表空间分类:

目录表空间

特性:每个数据库只有一个目录表空间,它是在发出CREATE DATABASE 命令时创建的.

目录表空间被DB2 命名为SYSCATSPACE,

用途:它保存了系统目录表;

常规表空间

特性:创建数据库时指定该表空间的缺省名为USERSPACE1。长表空间是可选的,缺省情况下一个都不创建,

用途:保存表数据和索引、还可以保存LOB之类的长数据;

系统临时表空间

特性:随数据库创建的系统临时表空间的缺省名为TEMPSPACE1,

用途:用于存储SQL 操作(比如排序、重组表、创建索引和连接表)期间所需的内部临时数据;

以上是由系统管理的空间(SMS),必须有一个

以下是由数据库管理的空间(DMS),可选

长表空间

用途:用于存储长型或LOB 表列,存储结构化类型的列或索引数据

用户临时表空间

用途:存储已声明的全局临时表

LOB(large object)的定义:

是一种用于存储大对象的数据类型,如医学记录(如X-射线)、视频、图像等。LOB有三种类型:BLOB:Binary Large Object、

CLOB:Character Large Object、DBCLOB:Double-byte Character Large Object。每个LOB可以有2GB

III、页大小(暂无):

IIII、创建表空间:

最有效的表空间设置属性:PAGESIZE(表空间大小)、EXTENTSIZE(将数据写入到下一个容器之前写入到当前容器中的数据的页数)和PREFETCHSIZE(预取)

CREATE TABLESPACE 语句的示例

下列语句将创建一个常规表空间。所讨论的所有设置都是为了进行说明。

CREATE TABLESPACE USERSPACE3

PAGESIZE 8K

MANAGED BY SYSTEM

USING ('d:\\usp3_cont1', 'e:\\usp3_cont2', 'f:\\usp3_cont3')

EXTENTSIZE 64

PREFETCHSIZE 32

BUFFERPOOL BP3 --指定缓冲池

OVERHEAD 24.1

TRANSFERRATE 0.9

查看表空间

list tablespaces

查看表空间详情

list tablespaces show detail

查看单个表空间的物理路径(根据表空间标识)

list tablespace containers for 2

2、缓冲池

I、物性:一个缓冲池可以被多个表空间使用,但一个表空间只能使用一个缓冲冲,并且他们的页大小要一致

II、缓冲池的缺省大小是BUFFPAGE 数据库配置参数所指定的大小,但是可以通过在CREATE BUFFERPOOL 命令中指定SIZE 关键字来覆盖该缺省值

(查询数据库配置属性命令:db2 get db cfg for //当前数据库可以省略)

III、创建缓冲池

CREATE BUFFERPOOL 语句的示例

CREATE BUFFERPOOL BP2

SIZE 2000

PAGESIZE 8K

将表空间加载到缓冲池中

ALTER TABLESPACE USERSPACE3 BUFFERPOOL BP2;

删除缓冲池

DROP BUFFERPOOL BP2;

修改缓冲池大小

ALTER BUFFERPOOL "BP2" IMMEDIATE SIZE 5000;

查看缓冲池属性

SELECT * FROM SYSCAT.BUFFERPOOLS

SELECT TBSPACE,BUFFERPOOLID FROM SYSCAT.TABLESPACES --查询表空间与哪个缓冲池相关联

相关文档
最新文档