热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

DB2数据库性能优化介绍

对于DB2数据库来说,这一切都建立在深刻理解DB2的锁机制以及并发机制、索引原理、数据库参数、优化器原理、SQL脚本的优化等这些技

对于DB2数据库来说,这一切都建立在深刻理解DB2的锁机制以及并发机制、索引原理、数据库参数、优化器原理、SQL脚本的优化等这些技

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

DB2数据库性能调整和优化(第1、2版) 见

对于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的灵魂和心脏。


推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • 数字账号安全与数据资产问题的研究及解决方案
    本文研究了数字账号安全与数据资产问题,并提出了解决方案。近期,大量QQ账号被盗事件引起了广泛关注。欺诈者对数字账号的价值认识超过了账号主人,因此他们不断攻击和盗用账号。然而,平台和账号主人对账号安全问题的态度不正确,只有用户自身意识到问题的严重性并采取行动,才能推动平台优先解决这些问题。本文旨在提醒用户关注账号安全,并呼吁平台承担起更多的责任。令牌云团队对此进行了长期深入的研究,并提出了相应的解决方案。 ... [详细]
author-avatar
IHH_MCWONG_142
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有