首页 新闻 会员 周边

急急!!!oracle查询速度优化

0
悬赏园豆:30 [待解决问题]
我有两个数据库:1个生产库、1个测试库;目前两个库数据表内容都一样,问题是同样的一句sql执行速度差别很大生产库需要2分钟,测试库仅仅需要1秒钟不到;sql描述如下:
select * from a
where exists(select * from b where a.zjz=b.zjz)  
说明:a、b分别为两张表;zjz为a、b的关联主键;测试库与生产库中a、b表内容相同。单表查询速度都一样。
闪电风的主页 闪电风 | 初学一级 | 园豆:125
提问于:2013-08-21 15:53
< >
分享
所有回答(3)
0

建议修改为连接,exists有点耗时间~

幻天芒 | 园豆:37175 (高人七级) | 2013-08-21 16:43
0

生产库是不是连接没有释放?建议找个合适的时间将生产库重启一下,看查询差别还有那么大吗。这么简单的sql执行效率差别如此大通常是外部原因。

jone_e | 园豆:1410 (小虾三级) | 2013-08-21 16:59
0

楼主的sql语句是否等价于  select * from a,b  where a.zjz=b.zjz,这样效率很高

任何时候都不要使用select *  ,建议使用具体字段,另外建立索引(主键自动会有索引,可不用建立)

嗨,你的益达~~~ | 园豆:221 (菜鸟二级) | 2013-08-21 17:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册