DB2索引优化的原则以及策略选择技巧

DB2索引优化可以让索引更为高效,而且更加合理,下面就为您详细介绍DB2索引优化的策略,希望可以让您对DB2索引优化有更深的了解
  DB2索引优化:
  索引也是一种DB2对象,他由一组排好序的键组成,这些键是从相应表中的一个列或多个列抽取出来的。通常索引可以提供指向表中被请求的数据行的直接指针;如果结果集要求的顺序与索引一致,则可以消除排序;如果被请求的列都包含在索引项中,则可以避免不得不读数据行的情况。
  通过以下一些DB2索引优化原则,可以建立比较高效和合理的索引。
  (1)在索引中包括WHERE子句中的所有列,这样,就可以使用索引形成的屏蔽来拒绝结果集中不合格的行。
  (2)对于SQL语句中的RODER BY子句中引用到的列,适当的创建索引,这样可以避免排序。
  (3)考虑到管理上的开销,应避免在索引中使用多于5个的列。
  (4)对于多列索引,将查询中引用最多的列放在定义的前面。
  (5)基数较大的列更适合用来做索引。
  (6)不要在索引中包含那些经常修改或经常进行插入、删除的列。唯一的例外是主关键字和外来关键字。
  (7)不能种“空值(null)”做索引,任何包含null值的列都不会被包含在索引中,任何在WHERE子句中使用is null或is not null的语句优化器是不会使用索引的。
参与5

4同行回答

Birdflying1005Birdflying1005软件工程师DONOTMENTION
不可一概而论, 索引太多 对于 INSERT 和 UPDATE 开销变大。显示全部
不可一概而论, 索引太多 对于 INSERT 和 UPDATE 开销变大。收起
IT分销/经销 · 2011-06-01
浏览915
Birdflying1005Birdflying1005软件工程师DONOTMENTION
不可一概而论, 索引太多 对于 INSERT 和 UPDATE 开销变大。显示全部
不可一概而论, 索引太多 对于 INSERT 和 UPDATE 开销变大。收起
IT分销/经销 · 2011-06-01
浏览975
stephensun123stephensun123软件开发工程师SAP China
(1)复合索引,你的where中的条件是AND(2)分别建索引,你的where中的条件是OR显示全部
(1)复合索引,你的where中的条件是AND
(2)分别建索引,你的where中的条件是OR收起
互联网服务 · 2010-11-24
浏览918
rehtreht技术经理Ora
我一直对有如下这种情况比较迷惑:多个列,是分别在多个列上建立索引,还是建立一个复合索引。每种做法的不同是什么,好坏是什么显示全部
我一直对有如下这种情况比较迷惑:

多个列,是分别在多个列上建立索引,还是建立一个复合索引。

每种做法的不同是什么,好坏是什么收起
2010-11-22
浏览969

提问者

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2010-11-22
  • 关注会员:1 人
  • 问题浏览:11026
  • 最近回答:2011-06-01
  • X社区推广