码迷,mamicode.com
首页 > 其他好文 > 详细

一个索引导致查询缓慢

时间:2018-06-27 12:10:55      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:AC   时间   rac   测试   vpd   执行   技术分享   log   proc   

一、环境
centos 6.7 、oracle 11.2,表根据日期按月分区
二、测试
1、查询表存在索引ind_1(org_id,visit_date,visit_no,patient_id)
执行查询语句
技术分享图片
执行计划如下:
技术分享图片
查询总计时间大约:2分40秒左右。
2、删除索引ind_1(org_id,visit_date,visit_no,patient_id)
drop index ind_1;
执行查询语句
技术分享图片
执行计划如下:
技术分享图片
查询总计时间大约:9秒左右
总结:当表存在索引时,测试1则使用表的索引,导致查询时间达到2分40秒左右,当删除表的索引后,测试2根据表分区查询,时间只有9秒左右。
疑问:把上面的测试语句改成not exists时,在数据库中执行语句时没有使用索引,查询时间只有几秒左右,当把查询语句放到java+mybatis框架后,查询则使用了表的索引,查询时间达到3分钟左右,不明白??求遇到过的大侠解释下。谢谢

一个索引导致查询缓慢

标签:AC   时间   rac   测试   vpd   执行   技术分享   log   proc   

原文地址:http://blog.51cto.com/4484453/2133138

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!