SELECT *
FROM MWV_XSXX
WHERE 1 = 1
AND YXBM IN (SELECT DS.OBJ_ID
FROM DEP DS
START WITH DS.OBJ_ID =
'xxx'
CONNECT BY PRIOR DS.OBJ_ID = DS.SJBM)
AND YXZT = '20501'
ORDER BY a, b, C
mwv_xsxx 一个视图 。里面用到了 很多表组成的。
条件中 DEP部门 递归查询。
这个效率很慢。30几秒,如果程序中把
YXBM IN (SELECT DS.OBJ_ID
FROM DEP DS
START WITH DS.OBJ_ID =
'xxx'
CONNECT BY PRIOR DS.OBJ_ID = DS.SJBM)
改成 字符串yxbm in('','','',.....) 这样就快 不过这个有1000 的限制,超过1000的时候 用in() or in()
这样也慢,
有没有好的优化方案,,,
FROM MWV_XSXX
WHERE 1 = 1
AND YXBM IN (SELECT DS.OBJ_ID
FROM DEP DS
START WITH DS.OBJ_ID =
'xxx'
CONNECT BY PRIOR DS.OBJ_ID = DS.SJBM)
AND YXZT = '20501'
ORDER BY a, b, C
mwv_xsxx 一个视图 。里面用到了 很多表组成的。
条件中 DEP部门 递归查询。
这个效率很慢。30几秒,如果程序中把
YXBM IN (SELECT DS.OBJ_ID
FROM DEP DS
START WITH DS.OBJ_ID =
'xxx'
CONNECT BY PRIOR DS.OBJ_ID = DS.SJBM)
改成 字符串yxbm in('','','',.....) 这样就快 不过这个有1000 的限制,超过1000的时候 用in() or in()
这样也慢,
有没有好的优化方案,,,
解决方案 »
- Oracle临时表使用问题
- PL/SQL问题 帮帮忙啊 在线等
- 我登陆 Oracle Management server 时 总是出错:管理员是:sysman,口令是:oemtemp吗?
- 关于无效日期字符串的转换问题
- 怎么样获得当前oracle 数据库的字符集是那种?(高分)
- 如何让Oracle自动定时执行存储过程
- oracle下为什么select * from test where id<>'' 这句话不好用呢
- 谁要 PL/SQL DEVELOPER
- ★★★oracle7.33 支持左连查询吗?如果不支持,怎么实现这样的查询?★★★
- 如何使用ASP给ORACLE数据库的blob字段插入图象文件同时如何通过ASP把图象调出显示在网页上?
- 跪求一条SQL语句!!!!
- 逻辑与运算!
FROM MWV_XSXX x,
(SELECT DS.OBJ_ID
FROM DEP DS
START WITH DS.OBJ_ID = 'xxx'
CONNECT BY PRIOR DS.OBJ_ID = DS.SJBM) a
WHERE x.YXBM = a.OBJ_ID
AND x.YXZT = '20501'
ORDER BY a, b, C