DB2数据库性能优化介绍

标签: db2 数据库 性能优化 | 发表时间:2013-08-27 00:19 | 作者:chszs
出处:http://blog.csdn.net

DB2数据库性能优化介绍

作者:chszs,转载需注明。博客主页: http://blog.csdn.net/chszs
前段时间,我从CSDN得到了这本书《DB2数据库性能调整和优化(第2版)》,这是一本介绍DB2数据库性能调优的书籍,此书覆盖了DB2数据库性能调优所需的全部知识和工具,而且还提供了大量的性能调优的实际案例,颇有一种“一书在手,DB2尽在掌握”的豪情。大家都知道,性能调优是一个系统工程,通过全面的实时监控,分析OS、I/O性能、内存的使用情况,DBA才能找出是否是数据库自身程序出了问题,又或者是服务器上运行的应用出了问题。

对于DB2数据库来说,这一切都建立在深刻理解DB2的锁机制以及并发机制、索引原理、数据库参数、优化器原理、SQL脚本的优化等这些技术点的掌握之上,对这些技术点掌握的越深刻,那么出现问题后才能快速地估计和判断,并且提出解决问题的方法。

对于DB2数据库DBA来说,下面的工具是必须要熟练掌握的:
1)快照
2)db2pd
3)db2expln
4)事件监控器

为了让不熟悉DB2的朋友对DB2有正确的认识,下面我介绍一下DB2的背景信息。

DB2是IBM公司发行的一种大型关系数据库系统。它主要应用于大型的应用系统,并具有良好的可伸缩性,支持从大型机环境到单用户服务器环境,可应用于OS/2、Windows等操作系统环境之上。 DB2系统提供了高层次的数据利用性、完整性、安全性、可恢复性等特性,以及从小规模到大规模应用程序的执行和支持能力,而且具有与平台无关的基本功能和SQL命令。

DB2采用了数据分级技术,能够使大型机的数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机的数据,并使数据库本地化以及远程连接的透明化。 它以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。 DB2有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。

DB2数据库家族是非常庞大的,它有多种版本,比如:

1)DB2 Everyplace
主要用于移动计算。

2)DB2 Personal Edition
DB2 Personal Edition是单用户RDBMS,运行于低价的商用硬件桌面计算机。

3)DB2 Express - C
DB2 Express - C其实不算DB2系列的一个版本,但是它提供了DB2 Express 的大多数功能。

4)DB2 Express Edition
DB2 Express Edition是一种功能全面的支持Web 的客户机/服务器RDBMS。它提供一个低价的入门级服务器,主要用于小型企业和部门的计算任务。

5)DB2 Workgroup Edition
DB2 Workgroup Edition与DB2 Express的功能相同,仅在服务器可安装的内存和价值单元的数量方面有区别。

6)DB2 Enterprise Edition
DB2 Enterprise Edition是一种全功能的RDBMS。它持所有UNIX、Linux和Windows,适合作为大型和中型的部门服务器。

7)Data Enterprise Developer Edition
Data Enterprise Developer Edition是为应用程序开发人员提供的特殊版本,已经被废弃。

在了解了DB2的背景信息后,下面我们需要明确什么是性能?
性能是业务应用系统在特定硬件资源和工作负载下所表现出来的处理能力。
性能主要通过系统响应实际、吞吐量、可用性(资源利用率)等来衡量。

那么,如何让系统保持良好的性能呢?
主要从以下几个方面进行考虑:

1)物理资源足够且能充分合理地使用
系统需要配置充足的CPU、内存、高速硬盘、网络带宽,同时也要进行合理地分配使用。

2)良好的存储I/O设计
必须有足够的磁盘设备来确保充分的I/O并行性,以支持大容量的并发事务。

3)合理的数据库配置参数
这会影响到数据库资源的分配,资源优势的发挥,数据库运行是否最优。

4)确保应用程序持有锁的时间尽可能短
尽可能晚地启动事务的第一条SQL语句,并使事务的更新尽可能接近提交阶段,使得事务的持续时间尽可能地短。

5)为表创建最合理的索引
确保查询中进行连接操作的列都有索引。

6)高效地使用SQL语句

7)分析SQL执行计划
找出SQL的运行瓶颈,并做出调整。

8)数据库的物理和逻辑设计
用最合理的数据库技术来实现我们的业务逻辑,良好而合理的设计是整个系统高效运行的必要条件。

9)统计信息更新、碎片整理
定期更新统计信息,使得优化器时刻为SQL制定最合理的执行计划。

10)熟悉DB2优化器的工作原理
优化器是DB2的灵魂和心脏。

作者:chszs 发表于2013-8-27 0:19:15 原文链接
阅读:121 评论:0 查看评论

相关 [db2 数据库 性能优化] 推荐:

DB2数据库性能优化介绍

- - CSDN博客数据库推荐文章
作者:chszs,转载需注明. 博客主页: http://blog.csdn.net/chszs. 前段时间,我从CSDN得到了这本书《DB2数据库性能调整和优化(第2版)》,这是一本介绍DB2数据库性能调优的书籍,此书覆盖了DB2数据库性能调优所需的全部知识和工具,而且还提供了大量的性能调优的实际案例,颇有一种“一书在手,DB2尽在掌握”的豪情.

DB2数据库备份还原

- - CSDN博客数据库推荐文章
可以将上面4条命令写在一个bat文件中,每条命令占一行,在装有DB2数据库的机器上运行bat文件即可. 如果DB2的版本是9,备份出来的文件名称如“DBName.0.DB2.NODE0000.CATN0000.20130220171655.001”. 如果DB2的版本是8,备份出来的文件名称如“171655.001”,该文件时存储在目录“DBName.0/DB2/NODE0000/CATN0000/20130220/”下的.

Oracle、Db2、SqlServer、MySQL 数据库插入当前系统时间

- - CSDN博客推荐文章
例如有表table,table 中有两个字段:name 、makedate. 插入系统时间应为sysdate:. insert into table (name,makedate) values('测试',sysdate);. 插入系统时间应为current timestamp并且makedate数据类型为timestamp.

浅谈MySQL 数据库性能优化

- - BlogJava-qileilove
数据库是 IO 密集型的程序,和其他数据库一样,主要功能就是数据的持久化以及数据的管理. 本文侧重通过优化MySQL 数据库缓存参数如查询缓存,表缓存,. 日志缓存,索引缓存,innodb缓存,插入缓存,以及连接参数等方式来对MySQL数据库进行优化.   这里先引用一句话,从内存中读取一个数据的时间消耗是微秒级别,而从普通硬盘上读取一个数据是在毫秒级别,二者相差3个数量级.

基于SSD的数据库性能优化

- Sungelina - Hello DBA
NOR和NAND都是闪存技术的一种,NOR是Intel公司开发的,它有点类似于内存,允许通过地址直接访问任何一个内存单元,缺点是:密度低(容量小),写入和擦除的速度很慢. NAND是东芝公司开发的,它密度高(容量大),写入和擦除的速度都很快,但是必须通过特定的IO接口经过地址转换之后才可以访问,有些类似于磁盘.

MySQL 数据库性能优化之表结构

- tangfl - Sky.Jian 朝阳的天空
接着上一篇 MySQL 数据库性能优化之缓存参数优化 ,这是 MySQL数据库性能优化专题 系列的第二篇文章:MySQL 数据库性能优化之表结构. 很多人都将 数据库设计范式 作为数据库表结构设计“圣经”,认为只要按照这个范式需求设计,就能让设计出来的表结构足够优化,既能保证性能优异同时还能满足扩展性要求.

MySQL 数据库性能优化之缓存参数优化

- flychen50 - Sky.Jian 朝阳的天空
在平时被问及最多的问题就是关于 MySQL 数据库性能优化方面的问题,所以最近打算写一个MySQL数据库性能优化方面的系列文章,希望对初中级 MySQL DBA 以及其他对 MySQL 性能优化感兴趣的朋友们有所帮助. 这是 MySQL数据库性能优化专题 系列的第一篇文章:MySQL 数据库性能优化之缓存参数优化.

MySQL数据库性能优化之存储引擎选择

- - Sky.Jian 朝阳的天空
MySQL 数据库性能优化之SQL优化,这是  MySQL数据库性能优化专题 系列的第五篇文章:. MySQL数据库性能优化之存储引擎选择. 离上一篇文章已经有很长时间没有更新这个MySQL数据库性能优化专题了,时间太紧加上人之惰性,今天这里将之前就规划好的关于存储引擎选择方面的内容更新出来,希望对大家有所帮助吧.

MySQL数据库性能优化之硬件瓶颈分析

- - Sky.Jian 朝阳的天空
接着上一篇 MySQL数据库性能优化之存储引擎选择,这是 MySQL数据库性能优化专题 系列的第六篇文章: MySQL数据库性能优化之硬件优化. 在过往与很多人的交流过程中发现,在谈到基于硬件来进行数据库性能瓶颈分析的时候,常被大家误解为简单的使用更为强劲的主机或者存储来替换现有的设备. 个人觉得这其中可能存在一个非常大的误区.

数据库查询性能优化之利器—索引(一)

- - 博客园_首页
                   数据库查询性能优化之利器—索引(一).   最近在做基于Android的公交查询系统的过程中,遇到一个很棘手的问题:换乘算法效率低. 在直达查询和一次换乘查询的时候,问题体现的还不是很明显,能够在1s之内查询出乘车方案,而当进行二次查询的时候,基本要等一两分钟才能查询出换乘方案,这对于公交查询系统是绝对无法容忍的.