深入优化DB2数据库的五个最佳实践

不管是DB2还是Oracle、SQL Server数据库,结构化查询语言(SQL)对于关系型DBMS是把双刃剑,利弊 参半。因为从关系型数据库检索任何数据都需要SQL,本文所要探讨的话题就是:不论是终端用户还是开 发人员或是数据库管理员(DBA),他们将如何访问一个关系型数据库。当使用高效的SQL时,系统会变得 易于升级、灵活、而且便于管理。当使用低效的SQL时,响应时间和程序运行时间都会延长,并且还会产生 应用系统的中断。鉴于通常的数据库系统一般要花费90%的处理时间用于从数据库检索数据,由此很明显 的可以看出尽可能的保证SQL的高效是多么的重要。考察通常的SQL语句问题譬如"SELECT*FROM"仅是冰山 一角,我们将在本文中探讨其他容易确定的普遍的问题。需要记住的是,检索得到同一数据的SQL语句有很 多种殊途同归的写法,所以不存在好的查询语句或是坏的查询语句,而只有满足适当需求的查询语句。各 关系型数据库都有自己的方式来优化和执行查询语句。因此,各DBMS都拥有自己的最佳性能的查询技巧。 本文将使用Quest软件中QuestCentralforDB2的例子和概述来集中讨论DB2forOS/390和z/0S。

要是在十七年前,这张技巧单会更长,并且会包含对最小化的SELECT场景的矫正方法。每一个新版本 的DB2都会增加成千上万行的新代码,用以扩展智能优化,和查询重写及执行。例如,多年来一种被称为 数据管理器的组件,通常被提供作为"第一阶段处理"以增加它的过滤容量一百倍。另一组件是关系型数据 服务器,通常被提供作为"第二阶段处理"来进行其主函数的查询重写和优化。另一关键组件就是基于当前 的SQL,并使用存取路径以决定检索数据的DB2优化器。DB2优化器改善了每一个DB2的版本,考虑到另外的 DB2目录中的统计,可以提供新的和改善过的存取路径。图1显示了这些组件及其他更多的部分,并描述了 DB2如何处理数据或SQL的请求。这就是以下DB2SQL性能技巧的来源。

图1:DB2Engine和一些组件介绍

在这篇文章中,我们将回顾一些更具有代表性的SQL问题,有更多的SQL方面的性能技巧超出了本篇文 章描述的范围。像所有指导方针一样,所有这些技巧也会有一些例外。

技巧1:核实是否提供了适当的统计:

对于DB2优化器来说,最重要的资源除了SELECT语句本身,就是DB2目录中创建的统计。优化器基于众 多的选择而使用这些统计。DB2优化器为了查询而选择一条非最佳存取路径的主要原因,归结于无效的或 缺失的统计。DB2优化器使用以下目录统计:

图2:DB2优化器验证过的列和用来确定的存取路径

时间: 2024-09-24 14:36:06

深入优化DB2数据库的五个最佳实践的相关文章

Oracle 12c数据库优化器统计信息收集的最佳实践

Oracle 12c数据库优化器统计信息收集的最佳实践 转载自     沃趣科技(ID:woqutech)  作者         刘金龙(译) 原文链接   http://www.oracle.com/technetwork/database/bi-datawarehousing/twp-bp-for-stats-gather-12c-1967354.pdf 导  语 Oracle优化器会为SQL语句产生所有可能的访问路径(执行计划),然后从中选择一条COST值最低的执行路径,这个cost值是

从商用到开源:DB2迁移至MySQL的最佳实践

身处数据驱动快速变革的时代,数据库系统的选型和架构设计对于整个IT基础架构,甚至企业的发展都起到至关重要的作用.那么今天,如果您的企业需要搭建一套新的应用系统,你会选择什么数据库类型?如果当前的系统不能满足业务需求,面临系统迁移,你又会如何选择? 在2017年初,我们分享过一份国外的报告"开发人员是如何使用数据库的 ",并且进行了一次调查『中国数据库爱好者的选择和背离』,其中的一些数据展示了用户对于数据库的选择,非常具有参考价值,链接可以直接参考分析报告. 随着互联网+时代的到来,企业

提高数据中心效率、可用性和容量的五项最佳实践方案

数据中心可以说是任何企业中最具活力和最为关键的操作之一.近年来,随着数据中心的密度和容量呈现稳步增长,其复杂性和安全风险也在不断增加,资源日趋紧张,进一步为其相关设备的性能带来了不良的影响.根据一项针对数据中心行业的停机中断研究结果显示,数据中心的任何类型的停机中断的平均成本为389,879欧元,而部分的停机中断的平均成本为199,103欧元.完全停机中断的成本超过524,464欧元.鉴于停机中断的成本如此之高,使得IT容量的可用性通常是评估数据中心的最重要的指标.然而,在今天,数据中心还必须同

云端数据可视化管理的五项最佳实践

迁移到云端可以帮助企业加快IT交付.提高业务敏捷性,但是可能也会带来敞开的安全漏洞,让公司暴露在网络攻击面前.这意味着在云端运作的企业组织现在必须解答这些问题:"什么云服务器遭到了攻击,我如何才能知道?" 遗憾的是,答案并不容易获得.像防火墙和入侵检测系统这些传统的安全工具在企业组织内部使用时效果很好,可是面对云环境时,它们没有多大帮助.虚拟基础设施具有的弹性和动态性使得安全团队很难看到云端发生的情况.而要是没有这种可见性,它们不可能执行一致的政策.发现漏洞,并迅速应对异常行为. 想得

企业数据库合规的最佳实践

数据库是存放数据.经常是那些高敏感度数据的宝库,因此它也毫无疑问的是合规检查程序的重点区域.几乎所有的企业合规都会对哪些人.能在什么时间.访问什么数据库作出规定,并且需要一个专职人员来管理这些权限.本文,我们将讨论针对数据库合规的基本数据库安全要求,如PCI DSS和HIPAA,以及为了遵守合规要求用于管理数据库权限和维护的最佳实践. 最常见的五大企业核心数据库环境是:1.微软的SQL Server数据库:2.IBM的DB2数据库:3.MySQL数据库:4.Oracle数据库:5.Postgre

优化分布式团队的八个最佳实践

如今,越来越多的企业的团队成员并不是工作在同一个屋檐下,那么企业将如何确保其分布式团队取得成功呢? 有些人坚持认为企业成功的唯一方法,就是朝九晚五的小群体的团队成员搭配:没有远程工作团队,总是在同一个房间里面对面地工作. 虽然人们不知道工作人员居所在何处,但开展远程工作完全是可行的,因此管理分布式团队是生活中的一个事实.特别是对于那些将成长为一个全球性的企业,有很多是采用这样的形式. 大多数情况下,企业的团队工作在同一个屋檐下是理想的认同,但大部分的时间不是这样的.那么,我们如何更好地在远程开展

收集优化统计数据(Optimizer Statistics)的最佳实践方法

介绍oracle优化器对一个sql语句检测所有可能的执行计划并选择一个成本值最小的,这里的成本代表了一个特定执行计划的资源使用情况.为了让优化器能准确的判断一个执行计划的成本它必须要关于sql语句要访问的所有对象(表或索引)的信息同时还要有运行sql语句的系统信息. 这些必要的信息通常称为优化器统计信息.理解和管理优化器统计信息是优化sql执行的关键.知道何时以及如何收集统计信息对于维护可以接受的性能来说至关重要. 这里将介绍在常见的oracle数据库场景中何时以及如何来收集统计信息.它包含以下

管理远程数据中心资源的五个最佳实践

如今的现代IT基础设施已从一种本地化环境演变成一种分布式数据中心架构.管理员能够利用更好的远程托管服务,帮助自己扩大现有环境,并完成更多与业务有关的IT任务.企业组织在利用云技术和专用的广域网链路,帮助自己扩大现有数据中心,并使用外部资源,用于灾难恢复.扩建.额外的用户工作负载,或者甚至测试和开发. 这些资源可供使用时,人们往往会用完资源.如果环境是本地环境,管理和监控数据中心里面的现有资源可能更容易. 然而,如果有分支机构或其他远程环境也需要监控,该如何是好?要牢记的一个要点是,资源始终是有限

html5游戏开发的五个最佳实践

HTML5是伟大的,因为它多才多艺的 - 它没有具体针对单一的平台.更重要的是,HTML5是无所不在的. 就我所知的,它在你的PC上,你的手机上,你的平板设备上,甚至在你的厨房电器上.  就凭HTML5-多才多艺和无所不在这两个特点 -- 不辩自明, 为什么众多的开发者们备受鼓舞. 然,众所周知,"一旦开发者们被激发了灵感,他们常常会编写游戏."(好吧,可能只是我做了.) 幸运的是,有关HTML5游戏开发的文章比比皆是. 然而, 在你打算使用HTML5编写游戏之前, 我不得不给你一些建