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命中低很诡异。。。
求教~~~
收起