Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
获得关于设计索引以及数据分区键、物化查询表、IBM® DB2® Universal Database™(DB2 UDB)多维聚类的专家帮助。Design Advisor 是 DB2 UDB 内置的,它能提供您所需的帮助。下面介绍了如何将它用于 OLTP 数据库。

简介

DB2 UDB V8.2 引入了一种名为 Design Advisor 的新工具,该工具使用范围更广,可用来替代 Index Advisor。除了索引外,Design Advisor 还提供关于物化查询表(MQT)、多维集群表(MDC)和数据分区功能(Data Partitioning Feature,DPF)分区键的建议。 即使对于那些只对索引感兴趣的 DBA,Design Advisor 也好于先前版本的 Index Advisor。本文是由两部分组成的一个系列的第 1 部分,旨在探索 Design Advisor 在在线事务处理(online transaction processing,OLTP)数据库方面的使用,主要关注的是如何设计适当的索引,以取得较高的性能。

通过介绍一些特定的例子、考察一些陷阱和常见问题,并突出强调 V8.2 的增强,我们将演示该工具的效用。第 2 部分将介绍关于 MQT、MDC 和 DPF 分区键的更多细节,重点分析数据仓库环境。

Design Advisor 的价值

Design Advisor 所提供的建议能与数据库调优专家的建议相媲美。对于非专家来说,该工具的好处是可以获得更好的设计。对于专家来说,Design Advisor 可以节省他们宝贵的时间,因为 Design Advisor 可以提供一个初始的设计,然后由专家进一步改进设计。Design Advisor 还可以提供对专家的设计的独立确认。

Design Advisor 可以使性能提高多少百分比呢?这取决于初始设计的质量。然而,提高的幅度是很明显的。题为 DB2 UDB: The Autonomic Computing AdvantageDB2 Magazine 电子书中包含一个完整的案例研究,该研究显示,性能提升了 84%;也就是说,设计经过改进之后,对于相同的工作负载,现在的运行时间是原来的 15%。

Design Advisor 何时有帮助

在很多情况下,DBA 都希望使用 Design Advisor。其中两种重要的情况是,在生产之前使用 Design Advisor,以及在将一个系统投入生产之后使用它。关于在生产之前何时使用 Design Advisor 的例子包括:

  • 在应用程序开发的初始阶段创建一组新的索引。
  • 在应用程序系统测试期间改善性能不佳的查询。

还可以将 Design Advisor 用于生产系统,根据以下情况更改索引:

  • 实际生产情况与开发期间的估计有差别。例如,某一列被访问的频率超过预期;某个表远远大于预期;某些查询比预期执行得更频繁。
  • 在系统的运行生命周期中模式设计发生了改变。应用程序在其运行生命周期中常常会得到调整,例如为生成报告而添加一个新的列或新的查询。
  • 数据库老化。随着数据库的老化,性能将逐渐下降,因为表会越来越大,使用模式也发生了变化,并且工作量也有所增加。

Design Advisor 经常与其他 DB2 特性一起使用。例如:

  • Health Monitor。您可以设置 Health Monitor,使之在出现排序溢出之类的情况时发出警报。然后采用 Design Advisor 来帮助发现有助于缓解这种性能下降的索引。
  • Visual Explain。您可能正在使用 Visual Explain 或相关特性来检查查询访问计划。您也许注意到被扫描的表过多。那么这时可以使用 Design Advisor,看看索引是否能导致不需要扫描那么多表的访问计划。

Design Advisor 概述以及 V8.2 中的新特性

您可以将 Design Advisor 作为一种 GUI 工具,或者通过命令行来使用它。在 V8.2 中,您可以从一个新的地方来访问这个 GUI。在 Control Center 中,可以右击您想要处理的数据库。在弹出的菜单中,选择 Design Advisor...

命令行命令仍然是: db2advis。是使用 GUI 还是使用命令行?这基本上取决于个人偏好。两者在功能上差别很小。

确定需要使用 Design Advisor 之后,请遵循下面列出的步骤来使用该工具。对于每一步,我们列出了 V8.2 中适用于 OLTP 数据库(其中最相关的就是索引)的一些关键的增强。

表 1. V8.2 中的新特性
步骤 V8.2 中的新特性
1. 收集和描述提供给 Design Advisor 的工作负载 该工具支持其他提供工作负载的方法:(1) 在 GUI 中从一个文件装载工作负载,或者 (2) 从 Event Monitor 获得工作负载
2. 决定何时以及如何运行该工具 由于采用了新的工作负载压缩技术,所以运行该工具时所需的资源更少
3. 回顾建议 (1) Design Advisor 现在考虑更大范围的索引类型,包括:双向索引和带 INCLUDE 列的 UNIQUE 索引。(2) 有更多关于建议的详细信息:例如,与各条 SQL 语句相关的改进
4. 后续步骤 您可以生成关于建议的一个报告,并将其保存到一个文件中

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理