索引的优化

系统 1658 0

发现一个SQL执行很慢,如下:

select   *
  
from  rmes.r_wip_tracking_t wt, cmes.c_material_t m
 
where  m.material_type  =   1
   
and  (m.material_spec  like   ' L% '   or  m.material_spec  like   ' C% ' )
   
and  wt.model_id  =  m.material_id      
   
AND  WT.sn  >=   ' 1073H2H72270002 '
   
and  WT.sn  <=   ' 1073H2H72270002 '

计划分析后,发现是都有走索引。
统计两个表如下:

1.R_WIP_TRACKING_T: 总共有3580030记录,其中用SN有索引,并且SN在表中唯一
2.c_material_t 总共有512条数据,material_type是外键有NORMAL索引,material_spec无索引
有一点发现,如果去掉material_type=1的SQL会变很快,说明是material_type的问题
在512记录中发现

MATERIAL_TYPE COUNT
0 196
1 276
2 8
3 10
4 8
5 13
7 1
说明MATERIAL_TYPE索引类型错了,需要改成BITMAP型
执行:
drop index FK_TYPE;
create bitmap index FK_TYPE on C_MATERIAL_T (MATERIAL_TYPE) tablespace CMES;
就把SQL的运行时间从89秒降低到了0.15秒

索引的优化


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论