从SQL语句来看,你的第二条多出两张表area h, param i
where条件中多出这么一个关系:and a.status = i.param_id我要问的是a.status与i.param_id有没有做过index?尝试给这两个字段加index试试看
where条件中多出这么一个关系:and a.status = i.param_id我要问的是a.status与i.param_id有没有做过index?尝试给这两个字段加index试试看
解决方案 »
- Oracle在不改变原结构增加扩展字段
- SQL优化的东东,大家帮个忙
- 关于UPDATE更新很慢的问题 请大家帮忙 谢谢。。。。。。。。。
- 编译过程提示错误什么 PLS-00103: 出现符号 "("在需要下列之一时 := . ) , @ % default
- 求一句子,查询得到oracle的版本
- 紧急求助,执行pl/sql的时候,说协议适配器错误
- 希望大家多提意见!
- 自己平时收集了一些关于oracle学习的点滴知识,也有自己的一些经验所得
- 请教:本人刚接触oracle,有一个问题请教一下
- 关于PK和INDEX讨论,参与讨论给分,截止8.8
- oralce中函数调用问题?在线等待!!
- 请教oracle中prompt关键字是什么意思?
慢的原因肯定是出在area表上.你检查一下此表的主键,索引等.
还有就是你的ORACLE版本是多少.9i会自动优化查找顺序.低于9i的就需要自己优化了.
f.address,g.area_id,g.name,i.param_name,(select area_name from area where area_id=g.area_id) area_name
from consumer b ,cust c ,cust_level d,serv_type e,address f,exchange g,serv a,param i
where a.consumer_id=b.consumer_id and b.cust_id=c.cust_id
and c.cust_level_id=d.cust_level_id
and a.serv_type_id=e.serv_type_id(+)
and a.addr_id=f.addr_id(+)
and a.exchange_id= g.exchange_id
and a.status=i.param_id
and a.acc_nbr='82345987'换成外连接的方式这样写,确保area.area_id有索引