• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >DB2 > 简化 DB2 for i5/OS 索引建议

简化 DB2 for i5/OS 索引建议

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2017-06-28

匿名通过本文主要向大家介绍了db2创建唯一索引,db2索引,db2 创建索引,db2 删除索引,db2建索引等相关知识,希望本文的分享对您有所帮助
</div>

理解和实现最佳 SQL 查询优化目标可以大大改善很多查询的响应时间。IBM® DB2® for i5/OS® on V5R4 提供了一种新方法,通过一些流行的动态 SQL 接口控制查询优化。本文展示如何用 CLI 实现新的性能调优增强。作为附加的优点,您将必须利用 iSeries Navigator 的性能监视器特性分析任何查询的优化目标。

DB2 for i5/OS on V5R4 经过改进,现包含一个 Index Advice Condenser。查询和 SQL 活动会留下一些索引建议。当考虑是否创建永久索引时,很多原始的索引建议可以看作是互补的或者可压缩的。本文解释新的 Index Advisor 压缩特性,并演示如何在 iSeries Navigator 图形界面中使用该特性,或直接用一个定制的用户查询来访问该特性。

DB2 for i5/OS Index Advisor

Index Advisor 是 DB2 for i5/OS V5R4 中引入的特性,该特性记录关于系统索引需要的统计信息。每当执行一个查询或 SQL 语句时,Index Advisor 都会记录查询优化器建议使用的一些索引,留住提高性能的机会。这方面的基础知识有助于理解这个新的 Index Advice Condenser。

每当建议一个索引时,就有一个新行被添加到系统索引建议表中,即模式 QSYS2 中的 SYSIXADV 表。这里是假设该索引之前还没有被建议。Index Advisor 检查以下列中的属性,以判断一个索引是否已经被优化器建议:

LEADING_COLUMN_KEYS

KEY_COLUMNS_ADVISED

TABLE_NAME

TABLE_SCHEMA

INDEX_TYPE

PARTITION_NAME

NLSS_TABLE_NAME

NLSS_TABLE_SCHEMA

表 3 给出了 SYSIXADV 表的完整布局。如果表中已经有匹配的建议,则更新已有的行。例如,“Number of Times Advised”条目加一,“Last Advised for Query Use”被更新为当前时间。

就原始格式而言,索引建议不一定是冗长的。虽然表中所有条目都是惟一的,但是有些条目仍然存在冗余。一个很好的例子就是,如果有相同的一些列被建议,建议的顺序有所不同,但这些键的顺序无关紧要,那么就会出现上述情况。在这种情况下,可以用这些列创建覆盖不同索引实例的一个索引。对被建议的键重新排序的时机可通过“Leading Keys Order Independent”列表明。这一列中列出的键是可以被重新排序,且仍然能够满足被建议的索引的领头键。

被建议索引的示例

我们来看一些索引建议的示例,以便为 condenser 的简化工作搭建背景。下面的例子假设所有建议都是基于相同表、相同分区、相同的索引类型和排序顺序的。

表 1. 被建议索引的示例 1

被建议的键领头键,顺序无关
C1, C2, C3C1, C2, C3
C1, C3, C2C1

在这个例子中,建议的第二行不易变通。为了满足索引建议,一个永久的索引需要有顺序为 { C1, C3, C2 } 的键。但是,建议的第一行有很大的灵活性。领头键顺序无关这个细节表明,键之间可以按任意顺序排列,所以可以通过将 { C1, C2, C3 } 重新排序为 { C1, C3, C2 },将两行建议压缩成一个永久索引。

如果扩展表 2 中的例子,使之包括第三行建议,那么仍然可以得出结论,附加的一个永久索引 { C1, C3, C2, C4 } 应该足以帮助优化器永久地提高这些查询的性能。

表 2. 被建议索引的示例 2

被建议的键领头键,顺序无关
C1, C2, C3C1, C2, C3
C1, C3, C2C1
C1, C3, C2, C4C1, C2, C3, C4

Index Advisor 与压缩的索引建议的比较

压缩索引建议技术要求在服务器上安装以下 V5R4M0 5722-SS1 PTF:SI25391、SI25469 和 SI25470。

当压缩索引建议时,原始索引建议变成概要形式。原始建议中的一些字段是特定于建议实例的,在概要形式中没有价值。为了保持压缩的建议的重要性,其它字段则很重要。 表 3 逐列解释了在索引建议压缩期间原始索引建议发生的变化。跟 Index Advisor 下相比,压缩的索引建议允许进行与之相同的 iSeries Navigator 动作,只有一个例外。由于压缩的索引建议不是永久存在的,因此没有“Remove from List”动作。

表 3. Condenser 对列的更改

列名列标题压缩动作
Table_NAME建议索引时所基于的表保留,不作更改
Table_SCHEMA包含表的模式保留,不作更改
SYSTEM_TABLE_NAME建议索引时所基于的系统表的表名保留,不作更改
PARTITION_NAME索引的分区细节保留,不作更改
KEY_COLUMNS_ADVISED被建议索引的列名生成
LEADING_COLUMN_KEYS领头的、顺序无关的键,这些键在 Key_Columns_Advised 字段的开头部分,可以重新排列该字段且仍能满足被建议的索引使用后丢弃
INDEX_TYPE基数(默认)或编码向量索引(EVI)保留,不作更改
LAST_ADVISED该行的上一次更新时间使用最新建议时间戳
TIMES_ADVISED索引被建议的次数通过总计生成
ESTIMATED_CREATION_TIME估计创建索引所需的秒数使用最大值
REASON_ADVISED表明索引被建议的原因的原因码丢弃
LOGICAL_PAGE_SIZE建议用于索引的页面大小使用最大值
MOST_EXPENSIVE_QUERY查询的执行时间,单位为秒使用最大值
AVERAGE_QUERY_ESTIMATE查询的平均执行时间,单位为秒通过求平均值生成
Table_SIZE当索引被建议时表中的行数使用最新建议中的值
NLSS_TABLE_NAME用于索引的排序顺序表保留,不作更改
NLSS_TABLE_SCHEMA排序顺序表的库名保留,不作更改
MTI_USED因匹配的永久索引不存在,而使用与被建议定义相匹配的 MTI(被维护的临时索引,自主索引)的次数丢弃
MTI_CREATED这个特定的索引建议被用于创建 MTI 的次数丢弃
LAST_MTI_USED上一次因匹配的永久索引不存在而使用 MTI 的时间丢弃

下面的 SQL 语句用于生成 图 1a 和 图 1b 中包含的原始索引建议。

清单 1. 用于生成索引建议的数据库和查询-- Create sample database in CONDENSE schema
CALL QSYS.CREATE_SQL_SAMPLE('CONDENSE');
SET SCHEMA Condense;
SELECT e.firstnme, d.deptnmae FROM department d, employee e
  WHERE e.job = 'DESIGNER' AND YEAR(e.birthdate) > 1950 AND e.sex = 'M';
SELECT e.firstnme, d.deptnmae FROM department d, employee e
  WHERE YEAR(e.birthdate) = 1953 AND e.job = 'DESIGNER' AND e.sex IN ('M');
SELECT e.firstnme, d.deptnmae FROM department d, employee e
    ORDER BY e.job, e.sex, e.birthdate;

图 1b 只包含 图 1a 中放不下的索引建议属性。注意,‘Keys Advised’列下的键的顺序有所不同。

图 1a. 被建议索引输出

简化 DB2 for i5/OS 索引建议

图 1b. 被建议索引输出(续)

简化 DB2 for i5/OS 索引建议

在这个例子中,两个被建议索引的键顺序有足够的灵活性,允许将建议压缩成一个索引。图 2 显示了压缩的索引建议。除了为用户提供压缩列键顺序 { JOB, SEX, BIRTHDATE } 外,压缩的建议还包括帮助确定建议的重要性的上下文信息。通过“Times Advised for Query Use”和“Average of Query Estimates”等列可以看出永久索引能为这个环境带来多大的好处。而“Estimated Index Creation Time”列用于判断是否要将创建索引作为预定的活动。

图 2. 压缩的索引建议

简化 DB2 for i5/OS 索引建议

iSeries Navigator 压缩器界面

在 iSeries Navigator 中,有 Index Advisor 的地方就有压缩索引建议动作。图 3 显示了压缩器的图形化界面,该界面可以通过右键单击一个模式对象打开。也可以从一个表对象中进行访问。

图 3. iSeries Navigator 压缩器界面

简化 DB2 for i5/OS 索引建议

为了使用压缩器的 iSeries Navigator 界面,需要在客户机上安装最新的 V5R4M

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 简化 DB2 for i5/OS 索引建议

相关文章

  • 2017-05-11DB2 常用命令小结
  • 2017-06-28更加灵活的公共服务:数据仓库和商业智能帮助公有组织共享和分析有价值的数据库
  • 2017-06-28如何在SQL存储过程中处理错误
  • 2017-06-28DB2 基础: 使用重定向增量恢复的数据库恢复
  • 2017-06-28调优 DB2 UDB v8.1 及其数据库的最佳实践
  • 2017-06-28使用 Spring 框架调用 DB2 存储过程
  • 2017-06-28DBase:DB2必须了解的常用命令及技巧
  • 2017-06-28在 Linux 上利用数据分区功能提高可伸缩性和性能
  • 2017-06-28怎样进行成功的数据库迁移
  • 2017-06-28在 DB2 for Linux, Unix, and Windows 中的行压缩的最佳实践

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 在 DB2 Data Warehouse Edition 中使用 Business Intelligence Reporting Tool 1
    • IBM DB2 Express-C 9.5.2 中激动人心的新特性
    • 更智慧...: 向无结构世界添加结构
    • DB2 DBA,如何解释 DB2 的业务价值
    • IBM WebSphere Portal Web Content Manager 和 DB2 调优指南
    • 选择适合自己的DB2 9.5客户机连通性选项
    • 使用DB2look实用程序重新创建优化器访问计划(3)
    • 使用脚本加速 DB2 存储过程的开发
    • 浅谈DB2数据库故障处理及最佳实践
    • DB2比较常用与实用sql语句总结

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有