银行索引

db2索引是怎么判断是否走索引的?

在一个100多万行记录的表上的char(1)列C上做了个索引runstats后测试了一下各个语句是否走索引结果发现select * from tabname where C='0' 不会走索引select * from tabname where C != '0' 会走索引用db2expln来看的我认为都应该走索引才对。。。 比较奇怪顺便问一下,例...显示全部
在一个100多万行记录的表上的char(1)列C上做了个索引
runstats后测试了一下各个语句是否走索引

结果发现select * from tabname where C='0' 不会走索引
select * from tabname where C != '0' 会走索引

用db2expln来看的

我认为都应该走索引才对。。。 比较奇怪
顺便问一下,例如select A,B,C from *** where C!='0' 这种类型的语句,在db2advis里面,会建议建立 A,B,C三列的多列索引,这是为什么?我觉得只要在C上建索引就足够了应该收起
参与7

查看其它 3 个回答asr_06的回答

asr_06asr_06存储工程师ABC
对于顺便问的那个问题,“建立 A,B,C三列的多列索引”,这样的话该查询的数据就可以从索引里直接获取,不用再重复读取数据页,因此db2advis里给的建议是没有错的。
银行 · 2014-02-18
浏览1602

回答者

asr_06
存储工程师ABC

asr_06 最近回答过的问题

回答状态

  • 发布时间:2014-02-18
  • 关注会员:1 人
  • 回答浏览:1602
  • X社区推广