设为首页 收藏本站
查看: 1077|回复: 0

[经验分享] db2 对缓冲池的性能优化

[复制链接]

尚未签到

发表于 2016-11-15 09:16:25 | 显示全部楼层 |阅读模式
  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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-300573-1-1.html 上篇帖子: java调用db2存储过程例子 下篇帖子: DB2数据库开发工具:DBVisualizer
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表