IBM DB2 基本性能调整

正在看的db2教程是:IBM DB2 基本性能调整。缓冲池

如果你有使用DB2 UDB的经验,你应该知道, 缓冲池是内存中的一些单独分配给DB2 数据库管理器的空间,让它去做为数据库添加新数据或者去响应一个查询从磁盘返回一些数据数据页的缓冲区。由于从内存中访问数据势必比从磁盘上读取要快的多,因此通过减少磁盘的I/O操作缓冲池改善了数据库的整体性能。 实际上,研究缓冲池是怎样被创建和被使用在调整优化的数据库性能是最重要的一步。
由于缓冲区的重要性地位,每个DBA 都应该了解DB2 UDB怎么使用他们。这里是关于它的快速回顾课程。当新数据增加到数据库时,它首先在缓冲区中增加新页。最终这个页将被具体化到数据库存储空间中。另一方面,为了响应查询当数据从数据库中被检索出来的时候,DB2数据库管理器首先将会将这些包含数据的页存放在缓冲池中,然后才会把它传递给需要它的应用程序或者用户。每次执行新的查询时,将会在每个可以利用的缓冲池中搜寻是否已经有所需要数据的页驻留在内存中。如果那样,就会立刻将它传递给对应的的应用或用户。但是,如果不能在这些缓冲池找到需要的数据的话,DB2 数据库管理器将会讲这些数据从存储器中检索出来并且在传递数据之前将它复制到缓冲区中。一旦页被复制到缓冲池,那么这个页将会一直驻留在缓冲区中直到数据库被关闭或直到它所在的空间需要存储其他页为止。(由于所有数据的加载和修改首先发生在缓冲区——修改过的页最终会去刷新磁盘存储——因此存放在缓冲池中的数据总是最新的)当缓冲池满了之后,DB2 数据库管理器将通过检测页的最后引用时间,页类型,或者页的修改不会影响磁盘内容的改变来选择去除哪些页,这些页可能再次被引用。例如,在30 分钟前被检索以响应查询的页会比包含更新操作而没有落实更新的页更容易被覆盖。
DB2 UDB缺省创建了一个缓冲池(IBMDEFAULTBP)作为数据库创建过程的一部分。在Linux和Unix平台,该缓冲池从内存中被分配了1,000个4KB页;在Windows平台,该缓冲池从内存中被分配了250个4KB页。 你可以通过在控制中心找到缓冲池菜单并且选择适当的操作或者执行ALTER BUFFERPOOL语句来增加或减少这个缓冲池的4KB 页的数量。你也可以通过在控制中心同样的方法或者执行CREATE BUFFERPOOL语句来创建另外的缓冲区。
由于缓冲区的重要性,你应该仔细考虑使用多少个缓冲池来适应你的实施需要;每一个究竟需要多大;以及每个缓冲池怎么样能被充分利用。 在多数环境里,能被有效使用的缓冲区个数取决于可利用的系统内存的大小。 如果可利用的内存可以保留10,000个4k 页(或更少),那么通常的使用单独的大缓冲池比去使用多个小缓冲池要好。 使用多个小缓冲区将导致频繁地访问页来经常与内存进行进出交换,反过来会导致为存储对象比如编目表的I/O竞争或者重复的访问用户表和索引。但是,如果有比较多的内存,应该考虑创兼各自的缓冲区为以下:
·           每一种临时表空间被定义
·           包含着被一些短期的更新事务一直或者重复访问表的表空间
·           包含着表和索引频繁地被更新的表空间 
·           包含着表和索引频繁地被查询但很少被更新的表空间
·           包含着表频繁地被使用于随意的查询的表空间 
·           包含着很少被应用程序访问的数据的表空间 
·           包含着一些你想要使用的数据和索引的表空间。 
在许多情况下,大一点的缓冲池要优于较小的缓冲池。但是,考虑到可以使用的内存总额以及缓冲池将怎么被使用。 如果你拥有一个要从一个非常大的表中执行许多随机存取操作的应用,那么你应该为这个特殊表创造和使用一个小缓冲池。 在这种情况下,没有必要在缓冲池内存中保留数据页一旦他们被用于去执行一次单独的查询。 另一方面,如果你拥有一个要从几个看似很小的表中频繁地检索数据的应用,你应该考虑创建一个足够大缓冲池来存放所有在这些表里免得数据。 采用这个设计方案,数据能一次装入内存,并且允许它反复的被获取而没有必要额外的磁盘I/O 。

本新闻共3页,当前在第1页  1  2  3

(0)

相关推荐

  • IBM DB2 基本性能调整

    正在看的db2教程是:IBM DB2 基本性能调整.缓冲池 如果你有使用DB2 UDB的经验,你应该知道, 缓冲池是内存中的一些单独分配给DB2 数据库管理器的空间,让它去做为数据库添加新数据或者去响应一个查询从磁盘返回一些数据数据页的缓冲区.由于从内存中访问数据势必比从磁盘上读取要快的多,因此通过减少磁盘的I/O操作缓冲池改善了数据库的整体性能. 实际上,研究缓冲池是怎样被创建和被使用在调整优化的数据库性能是最重要的一步. 由于缓冲区的重要性地位,每个DBA 都应该了解DB2 UDB怎么使用他

  • IBM DB2 日常维护汇总(五)

    正在看的db2教程是:IBM DB2 日常维护汇总(五). 64.如何更新系统上所使用的许可政策类型? DB2LICM-PREGISTEREDCONCURRENT 65.如何更新系统上的处理器的数量? DB2LICM-N 66.如何查询许可文件记录的版本信息? DB2LICM-V 67.如何查询DB2LICM的帮助信息? DB2LICM-H 68.一个数据库至少包括哪些表空间? 一个目录表空间 一个或多个用户表空间 一个或多个临时表空间 69.根据数据与存储空间之间移动的控制方式不同,分哪两种表

  • 创建一个空的IBM DB2 ECO数据库的方法

    问:怎样才能创建一个空的 IBM DB2 ECO数据库? 答:一般情况下你需要一个空数据库作为存储 EcoSpace 的容器.Delphi 2005 提供了一张光盘,其中包括 IBM DB2 UDB 开发人员版.您可以使用 Control Center(可在 IBM DB2 General Administrator Tool 中找到).在 Control Center 中,可以使用树型视图来查看系统.DB2 实例和数据库.使用向导创建一个新的数据库,这将为您提供一个分为 7 步的向导,在那里只

  • IBM DB2 Connect简介(1)

    正在看的db2教程是:IBM DB2 Connect简介(1). 在本系列的 第 1 部分中,我们初步地谈到了 DB2 Connect 提供的不同编程接口以及实现这些接口的驱动程序.在最后的几节中,我们大致地描述了 DB2 Connect 提供的通信基础设施,并看到这个基础设施如何大大减少对大型主机资源的使用,如何允许分布式应用程序充分利用大型主机平台的优势(例如轻松地管理混合工作负载以及提供连续的应用程序可用性). 您可能仍记得图 1,在这幅图中,DB2 Connect 由编程接口(被实现为 

  • IBM DB2 日常维护汇总(一)

    正在看的db2教程是:IBM DB2 日常维护汇总(一).: 1.DB2产品的级别有那些? 企业版的NTERPRISEEDITION 工作组版WORKGROUPEDITION 企业扩展版ENTERPRISEEXTENDEDEDITION 个人版的PERSONALEDITION 卫星版的SATELLITEEDITION 微型版的EVERYPLACE 2.可以连接到DB2数据库的产品有哪些? DB2客户端 DB2CONNECT DB2DATAPROPAGATOR DB2NET.DATA DB2DAT

  • IBM DB2 日常维护汇总(八)

    正在看的db2教程是:IBM DB2 日常维护汇总(八). 154.CONCAT() 返回两个字符串的连接. SELECTCONCAT(EMP_NO,EMP_NAM)FROMBSEMPMS; 155.YEAR() 返回数值的年部分. SELECTYEAR('2003/01/02')FROMBSEMPMS; 156.VARCHAR() 返回字符串,日期型,图形串的可变长度的字符串表示. SELECTVARCHAR(EMP_NAM,50)FROMBSEMPMS; 157.UCASE()ORUPPER

  • IBM DB2 日常维护汇总(四)

    正在看的db2教程是:IBM DB2 日常维护汇总(四). 46.如何快速清除一个大表? ALTERTABLETABLE_NAMEACTIVENOTLOGGEDINITALLYWITHEMPTYTABLE     ALTER TABLETABLE_NAME ACTIVE NOT LOGGED INITALLY  WITH EMPTYTABLE     两个commit之间的delete 动作是不记日志的      commit      alter table ab activate not l

  • IBM DB2 日常维护汇总(三)

    正在看的db2教程是:IBM DB2 日常维护汇总(三). 26.DB2实例的服务器的默认端口是? 50000 服务器名称为DB2CDB2 27.DB2UDB服务器端的认证类型有? SERVER SERVER_ENCRYPT CLIENT DCE DCE_SERVER_ENCRYPT KERBEROS KRB_SERVER_ENCRYPT 28.DB2客户端的认证类型有? SERVER SERVER_ENCRYPT DCS DCS_ENCRYPT CLIENT DCE 29.DB2中有哪几种类型

  • IBM DB2 日常维护汇总(九)

    正在看的db2教程是:IBM DB2 日常维护汇总(九). 167.REPEAT(EXP1,EXP2) 返回EXP1重复EXP2次后的字符串. SELECTCHAR(REPEAT('REPEAT',3),21)FROMBSEMPMS; 168.REAL() 返回一个数值的单精度浮点数表示. SELECTREAL(10)FROMBSEMPMS; 169.RAND() 返回0和1之间的随机浮点数. SELECTRAND()FROMBSEMPMS; 170.POWER(EXP1,EXP2) 返回EXP

  • IBM DB2 日常维护汇总(二)

    正在看的db2教程是:IBM DB2 日常维护汇总(二).    10.AIX下用哪个命令来安装DB2? INSTALLP命令 11.同一操作系统下可以安装多个DB2数据库? 可以的 12.如何停止实例? DB2STOP 13.如何启动实例? DB2START 14.如何修改注册项的值? DB2SET可以修改 如: 设定当前实例的一个参数 DB2SETPARAMETER=VALUE 设定一个全局级的参数 DB2SETPARAMETER=VALUE-G(小写) 查看能在配置文件注册表中设置的所有变

随机推荐