DB2数据库性能优化介绍
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的灵魂和心脏。
DB2数据库性能优化介绍的更多相关文章
- (转)Db2 数据库性能优化中,十个共性问题及难点的处理经验
(转)https://mp.weixin.qq.com/s?__biz=MjM5NTk0MTM1Mw==&mid=2650629396&idx=1&sn=3ec17927b3d ...
- DB2数据库性能调整和优化(第2版)
<DB2数据库性能调整和优化(第2版)> 基本信息 作者: 牛新庄 出版社:清华大学出版社 ISBN:9787302325260 上架时间:2013-7-3 出版日期:2013 年7月 开 ...
- mysql数据库性能优化(包括SQL,表结构,索引,缓存)
优化目标减少 IO 次数IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超过90%的时间都是 IO 操作所占用的,减少 IO 次数是 SQL 优化中需要第一优先考虑,当 ...
- 数据库性能优化:SQL索引
SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱. 1.1 什么是索引? SQL索引有两种,聚集索引和非聚集索引 ...
- 数据库性能优化一:SQL索引一步到位
SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱. 1.1 什么是索引? SQL索引有两种,聚集索引和非聚集索引 ...
- MySQL 数据库性能优化之缓存参数优化
在平时被问及最多的问题就是关于 MySQL 数据库性能优化方面的问题,所以最近打算写一个MySQL数据库性能优化方面的系列文章,希望对初中级 MySQL DBA 以及其他对 MySQL 性能优化感兴趣 ...
- SqlServer数据库性能优化详解
数据库性能优化详解 性能调节的目的是通过将网络流通.磁盘 I/O 和 CPU 时间减到最小,使每个查询的响应时间最短并最大限度地提高整个数据库服务器的吞吐量.为达到此目的,需要了解应用程序的需求和数据 ...
- 【SQL server初级】数据库性能优化一:数据库自身优化(大数据量)
数据库优化包含以下三部分,数据库自身的优化,数据库表优化,程序操作优化.此文为第一部分 数据库性能优化一:数据库自身优化 优化①:增加次数据文件,设置文件自动增长(粗略数据分区) 1.1:增加次数据文 ...
- MySQL数据库性能优化:表、索引、SQL等
一.MySQL 数据库性能优化之SQL优化 注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础 优化目标 减少 IO 次数IO永远是数据库最容易瓶颈的地 ...
随机推荐
- HTML5_布局and音视频
HTML5_布局and音视频 I.HTML5标签的改变1.文档声明HTML语法是不区分大小写的HTML5的DTD声明为:<!doctype html>确保浏览器能在HTML5的标准模式下进 ...
- 【转载】Python中如何高效实现两个字典合并,三种方法比较。
本文转载自:http://www.pythoner.com/13.html Python中将两个字典进行合并操作,是一个比较常见的问题.本文将介绍几种实现两个字典合并的方案,并对其进行比较. 对于这个 ...
- asp.net mvc让我告诉你请求从哪里来
移动互联网的兴起,导致越来越多的网站开始看中自己的mobile站点(m站),例如我们用手机浏览器访问58,美团等网站都会看到适配的m站点,随之而来响应式布局,h5等技术随之兴起,对于一些大型网站来说, ...
- R语言简单入门
一.运行R语言可以做哪些事? 1.探索性数据分析(将数据绘制图表) 2.统计推断(根据数据进行预测) 3.回归分析(对数据进行拟合分析) 4.机器学习(对数据集进行训练和预测) 5.数据产品开发 二. ...
- sql-labs 分享
前段时间在网上发现了一个阿三同学托管在github上的sql注入入门科普项目,感觉挺不错,在此分享一下.虽然现在有很多工具比如sqlmap可以实现自动化的sql注入,但是个人感觉如果只知其然而不知其所 ...
- 轻松学习Linux之认识Shell
Shell是一个命令解释器提供了用户与内核进行交互操作的一种接口shell,编程对於系统管理员或是一般使用者都相当有用,除了自动化,还可写出一些有趣的小工具,Linux本身有各种版本一 ...
- 【转】使用json-lib进行Java和JSON之间的转换
原文链接:http://www.cnblogs.com/mailingfeng/archive/2012/01/18/2325707.html 1. json-lib是一个java类库,提供将Java ...
- vs2012 密匙
旗舰版 YKCW6-BPFPF-BT8C9-7DCTH-QXGWC
- mac电脑Coding显示/隐藏文件
苹果Mac OS X操作系统下,隐藏文件是否显示有很多种设置方法,最简单的要算在Mac终端输入命令.显示/隐藏Mac隐藏文件命令如下(注意其中的空格并且区分大小写): 显示Mac隐藏文件的命令:def ...
- 【Android框架进阶〖0〗】ThinkAndroid注解机制
由于项目需要,开始研究ThinkAndroid. 个人认为该框架的注解机制十分新颖,所以先研究这个,顺便学习下 Java 的annotation. 粗略的看了看,该机制在BaseActivity中初始 ...