如何避免DB2性能理解的20大误区?

此文章主要向大家讲述的是DB2性能理解的20大误区,很多朋友对DB2数据库的性能存在一些理解上的误区,以下的文章主要是向大家描述的是这些错误,以下就是文章的主要内容的详细解析。

1、逻辑设计应该总是能和物理设计完全映射

 

实际:DB2数据库设计中物理设计应该尽可能的和逻辑结构相近,但是为性能做出的物理设计改变不能被忽略,因为它们并不来自于逻辑设计。

2、将所有东西放在一个缓冲池(BP0)中让DB2管理

实际:就像在DB2手册和其他地方说明的一样,你只能在你的内存非常受限的情况下(10000 4k pages或者更少),你没有时间去管理它,你也没有考虑到性能的条件下,去这样做。***这样说:不要放置除了DB2 catalog和目录以外的东西进入BP0。

3、DSNDB07是100%顺序的

实际:DSNDB07从来就不是100%顺序的,因为有工作文件中的对页面进行的随机活动。随即活动可能高达45%,但是通常范围是3%到10%。

4、VARCHAR应该总是被放置在行末

实际:这就是总是引发问题的话。如果表总是被读,并且非常少的更新,那么可以,这将会减少CPU负载,但是在其它情况下这样做就是最坏的,甚至如果表是被压缩的。只有在频繁更新的情况下它应该被放置在末尾,但是并不通常这样。

5、程序应该以遵循逻辑过程的方式编码

实际:伪代码或者一个逻辑过程图并不需要考虑DB2性能相关的编码方式。在OLTP交易代码中这非常具有戏剧性。

6、大多数过程不在SQL中进行

实际:事实上,问题的反面往往是正确的。SQL是一个非常丰富的语言,能够处理大多数过程。实际上***的困难是SQL经常被用来作为I/O处理器而不是一个集合处理器。

7、代码和引用表应该和DB2声明的referential integrity(RI)一起使用

实际:RI不应该作为一个编辑有效性的快捷方式而使用,这通常属于别的什么,但是应该在真父子关系中使用。

8、表至多有一到两个索引

实际:表应该按照性能需求拥有多个索引。

9、非分割索引(NPI)不应该被使用,尤其是不应该在大的表中使用

实际:这关系到数不清的问题,总体上这些都能被克服,但是NPI是对适当的访问和性能非常必要的。

10、大表应该被分割

实际:因为一个表中有太多数据就意味着有DB2性能下降,这是一个遗留的担心。当一些表中有超过60亿行数据时,这个理解已经被消除了。

11、DB2缺省就是好的

实际:缺省的一般不是***的,他们因版本不同而改变。比如考虑绑定参数CURRENTDATA。

12、不要在SQL WHERE谓词里使用否定

实际:另外一个这种规则并没有被解释清楚。只有谓词是一个否定时,SQL访问路径可能使用一个不必要的表空间扫描。但是在其它的多数情况下,多余的过滤应该在DB2引擎里完成,这会较好。

13、我可以只依靠EXPLAIN来决定是否访问路径是好的

实际:EXPLAIN不显示执行的查询块的顺序,不会告诉你1或者2阶段的谓词,不会告诉你一个块会多长时间执行一次。基本的,EXPLAIN只是导出一些数据到一个表里,然后结合其他一些信息来进行更多的一些解释。有一些工具来帮助处理此过程(如Visual Explain),但是如果所有的事实都没有被考虑的话,这样的方式只会带来坏处。

14、不要做EDM池太大以避免其分页

实际:EDM池通常通过分页来提升性能(这里分页是指扩展存储,而不是磁盘)而不是变得更小并且因为页面置换和其他因素持续重建内部结构。

15、扩展不会关系其他任何东西

实际:什么时候开始的?未来如果世界上充满了SAN或者ESS,那差不多。扩展的影响已经因为新的磁盘缓存控制器而变得很小了,但是仍然有一些额外的检查和处理需要来管理它们。

16、关系的划分不会在DB2中使用

实际:关系的划分已经在过去的许多系统中被使用了,可以有效的通过数据库设计者和程序开发者来实现。在目前的商业智能(BI)和市场系统中,它可以被数次用在每个单个程序中。

17、将所有的包绑定到两个计划中:一个批处理和一个在线的

实际:在介绍DB2包的时候,这是一个不好的陈述。有许多理由可以说这个理解是错误的。

18、未授权的读是不好的

实际:未授权的读并不是一个四字单词但是是一个非常好的DB2性能增强,可以被用在比经常理解的更多的地方。

19、在没有超时和死锁的情况下不会有锁问题

实际:事实上没有一个问题发生并不意味着没有需要关注的的DB2性能问题。经常锁定不被认为是一个问题,因为注意力主要放在反应的调节测量(统计死锁或者超时的数量),而不是后发式的调节(监控锁等待时间)。

20、ESA数据压缩总是好的

实际:当压缩能被在很多地方起作用时,有一些情况它能带来问题。每种情况都要在压缩使用前决定是否使用它。这不是可选的,而是必须要在高层决定是否使用还是不使用。

【编辑推荐】

  1. 实现DB2 9数据库管理软件安装的方式有哪些?
  2. 对DB2编目概念的详细描述
  3. DB2 9.7 兼容Oracle,IBM发布
  4. DB2文件系统已满的破解方案描述
  5. DB2 9.7的三大武器的作用描述

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/278726.html<

(0)
管理的头像管理
上一篇2025-05-11 17:36
下一篇 2025-05-11 17:37

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注