我这里有个SQL语句Select 1
from
fconsign c,
csubchargeitem s,
ccustsuppview csv,
cuser cu1,
cuser cu2,
fexpense e
where (e.fexp_creator = ? or exists (select 1 from FCONSIGN f where e.FEXP_CONSIGN_ID=f.FCSG_CONSIGN_ID and f.FCSG_CREATOR = ?))
and e.fexp_consign_id = c.fcsg_consign_id(+)
and e.fexp_charge_id = s.csci_ci_id(+)
and e.fexp_settlerment_object = csv.accountNumber(+)
and c.fcsg_creator = cu1.cusr_user_id(+)
and c.fcsg_canvasser = cu2.cusr_user_id(+)
and e.fexp_org_id = ?
这个语句是不是没有办法避免fexpense表的全表扫描,因为我已经把where条件中用到fexpense的字段都分别做了索引,而且还对fexpense表做了analyse。哪位大侠能帮忙解决下
from
fconsign c,
csubchargeitem s,
ccustsuppview csv,
cuser cu1,
cuser cu2,
fexpense e
where (e.fexp_creator = ? or exists (select 1 from FCONSIGN f where e.FEXP_CONSIGN_ID=f.FCSG_CONSIGN_ID and f.FCSG_CREATOR = ?))
and e.fexp_consign_id = c.fcsg_consign_id(+)
and e.fexp_charge_id = s.csci_ci_id(+)
and e.fexp_settlerment_object = csv.accountNumber(+)
and c.fcsg_creator = cu1.cusr_user_id(+)
and c.fcsg_canvasser = cu2.cusr_user_id(+)
and e.fexp_org_id = ?
这个语句是不是没有办法避免fexpense表的全表扫描,因为我已经把where条件中用到fexpense的字段都分别做了索引,而且还对fexpense表做了analyse。哪位大侠能帮忙解决下
解决方案 »
- 64位操作系统安装32位oracle出现问题
- 如何用数据库表示数据结构中的图???
- 通过订单细目表shopcart更新商品表product销售量 SQL如何实现
- 请问一个sql语句:如何实现“连续”这个概念?
- 触发器里面能写逻辑判断吗?
- 精通oracle的高手来看呀!!
- 刚装的oracle10g 监听器启不了!帮帮我.
- 怎样将一台机器上数据库中数据表和触发器,存储过程等复制到另一台机器的数据库中?
- 想和大家谈谈oracleDBA的现在钱景,来者有分
- 对象权限update可以指定到列级,select难道不可以吗?急,在线等
- 在oracle的学习过程中发现这样一段代码 over(partition by acctid order by rowid) 请问该怎样理解这段代码???
- 请教一个sql语句
SELECT e.fexp_org_id
FROM fexpense e
WHERE e.fexp_org_id = :1
AND (e.fexp_creator = :2 OR
e.fexp_consign_id IN
(SELECT fcsg_consign_id FROM fconsign WHERE fcsg_creator = :2))