性能调优问题三个

1. 如果我在表A的a列上有个单列索引,然后查询语句 select **** from A where a!=Y and b4    这个会用到索引吗,我觉得会,但是奇怪的是生产上的这个例子居然没用到是,表扫,已经每天runstats了2. 有的存储过程在dynamic sql的snapshot 里 会变成 select **** from A ...显示全部
1. 如果我在表A的a列上有个单列索引,然后查询语句 select **** from A where a!=Y and b<3 or b >4
    这个会用到索引吗,我觉得会,但是奇怪的是生产上的这个例子居然没用到是,表扫,已经每天runstats了

2. 有的存储过程在dynamic sql的snapshot 里 会变成 select **** from A where a=:HI000009 :HV000009 ...   这种类型的,用db2expln的时候,报这是个动态语句,无法继续。感觉是识别不出HI和HV这种样子的,这个时候我改怎么得到执行计划?

3. 发现生产库的data的buff命中率很低,只有50%,但是查看了执行时间最长、rows read最多的一些dynamic sql , 发现snapshot里 bufferpool 的 logic read 和 phsical read的比例很高,应该远远超过50%。这个该怎么继续找下去呢?  通过看tables的snapshot,read最多的表也在dynamic里匹配了下,也都用到了index,觉得data buff命中低很诡异。。。

求教~~~收起
参与11

查看其它 9 个回答ysgift的回答

ysgiftysgift数据库管理员招商银行
回复 3# liyun9990

用的是and,没有用过or,也不知道你的意思。。。
银行 · 2014-02-05
浏览1087

回答者

ysgift
数据库管理员招商银行
擅长领域: 系统运维智能化运维

ysgift 最近回答过的问题

回答状态

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