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 <dbsname> //当前数据库可以省略 )
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 --查询表空间与哪个缓冲池相关联
参考资料:DB2 基础: 表空间和缓冲池:http://www.ibm.com/developerworks/cn/data/library/techarticles/0212wieser/0212wieser.html
分享到:
相关推荐
DB2 缓冲池和索引调优是 DB2数据库性能优化的关键。缓冲池是 DB2 中的一块区域,用于存放频繁访问的数据,以提高数据库的性能。索引是 DB2 中的一种数据结构,用于快速定位数据。缓冲池和索引的调优可以显著地提高 ...
DB2使用缓冲池来缓存数据和索引页,以减少磁盘I/O。合理配置缓冲池大小、设置合适的缓冲池替换策略以及调整共享内存参数,都能有效提升系统响应速度。 此外,数据库的配置参数调整也是优化的重要部分。例如,事务...
表空间的设计与优化对提高数据库性能至关重要。按照不同的用途和管理方式,DB2中的表空间可以分为五类: 1. **目录表空间**:每个数据库中只有一个目录表空间,在创建数据库时自动生成,主要用于存储系统目录表。...
在DB2数据库中,Bufferpool(缓冲池)的设置对整个系统的性能有着重要的影响。合理的Bufferpool配置能够显著提升数据访问速度,减少I/O操作次数。下面将详细介绍如何进行Bufferpool的优化。 #### 1.1 Bufferpool的...
数据库系统在处理大数据量时,性能优化至关重要,而缓冲池(BufferPool)是数据库管理系统中提升性能的关键技术之一。DB2作为一款强大的企业级数据库,其缓冲池的设计和使用策略对于提升数据库性能起到了决定性作用...
4. 内存调优:DB2的缓冲池是性能关键,调整缓冲池大小和分配策略,可以减少磁盘I/O,提高响应速度。 5. 并发控制:合理设置并发连接数,避免过多的锁冲突,提高多用户环境下的性能。 6. 版本升级与补丁:保持DB2...
DB2性能优化是一个复杂而关键的过程,涉及到多个层面的调整以确保数据库系统的高效运行。以下是一些关于DB2性能优化的重要知识点: 1. **系统配置调优**:这是优化的第一步,需要根据系统的硬件特性、负载情况以及...
DB2数据库性能优化是...总结来说,DB2数据库性能优化需要综合考虑缓冲池的大小和管理、SQL语句的效率以及并发控制策略。通过精细化的配置和持续的监控,可以显著提升数据库系统的整体性能,满足各种复杂应用的需求。
内存是DB2性能优化中非常关键的一个方面,主要包括缓冲池(Buffer Pool)、排序堆(Sort Heap)、锁列表(Lock List)和日志缓冲区(Log Buffer)等因素。 1. **缓冲池(Buffer Pool)** - **定义**: 缓冲池是一块内存区域,...
2. 缓冲池命中率:缓冲池命中率是衡量缓冲池性能的重要指标。缓冲池命中率越高,使用磁盘I/O的频率就越低。可以使用以下公式计算缓冲池命中率:(1 - ((buffer pool data physical reads + buffer pool index ...
### DB2数据库性能优化 #### 引言 在DB2应用程序中实现最佳性能是一个多方面的过程。仅仅调整SQL是不够的,还需要理解内存管理、物理设计以及维护等因素如何影响性能。如果你是一名负责跨多个平台(如Linux、Unix...
3. **缓冲池配置**:合理配置缓冲池大小和类型(如NORMAL、KEEP等),可以优化数据页的缓存机制,提高数据访问速度。 #### 四、内存管理与调优 内存是影响DB2性能的重要因素之一。正确的内存管理策略能够极大地...
《DB2数据库设计和最高性能原则》探讨了在IBM z/OS环境下DB2数据库性能优化的关键要素。本文旨在为商业伙伴提供实用的指导,避免过于宽泛或深入技术细节,而是聚焦于那些最常见的性能影响因素。 数据库设计是性能...
在本文中,我们将深入探讨XXX商业银行在DB2数据库日常管理及性能优化方面遇到的问题和解决方案。DB2是一款广泛应用于金融行业的高性能关系型数据库管理系统,它为处理大量交易提供了可靠的平台。 首先,我们要理解...
DB2是IBM开发的一款关系型数据库管理系统,广泛应用于企业级数据存储和管理。"DB2管理指南_性能"这一主题涵盖了..."管理指南--性能.pdf"这份文档应包含了上述所有内容的详细解释和实例,是DB2性能优化的宝贵参考资料。
在IBM的DB2数据库管理系统中,表空间和缓冲池是两个关键的概念,它们对数据库的性能和管理至关重要。本文主要针对DB2 Universal Database for Linux、UNIX和Windows平台,旨在帮助初学者理解这两个概念以及如何有效...