oracle加个查询条件,速度反而慢了,烦请各位大侠看看

sunzhuce 2012-01-07 10:29:19
select zyq.qyqc as 作业区,
INF_CompanyInfo.QYQC as 小队,
zyq.cid,zyq.fcid,INF_CompanyInfo.Cid,INF_CompanyInfo.fcid,
t.jb_name,
t.jb_zt,
t.jb_bs
from TESTDATA a,
v_jbANDuserINFO t,
R_CompanyAndYJJTAS,
INF_CompanyInfo,
INF_CompanyInfo zyq
where t.xm_value = 'TESTDATA'
and t.jb_BS = 'jh=' || '''' || a.jh || '''' || ',rq=' || '''' || a.rq || '''' ||
',CSRQ=' || '''' || a.csrq || ''''
and a.jh = R_CompanyAndYJJTAS.jh
and substr(a.rq, 1, 7) = R_CompanyAndYJJTAS.rq
and INF_CompanyInfo.cid = R_CompanyAndYJJTAS.cid
and zyq.cid = INF_CompanyInfo.fcid
and t.utid = '18'
and INF_CompanyInfo.fcid = '20101124103354000'
and INF_CompanyInfo.cid = '20101124103856156'

这是我的查询语句,加上最后一个查询条件时,速度变的非常慢,是原来的几十倍。是不是语句我哪里写的有问题。INF_CompanyInfo这个表的cid和fcid是树形结构的两个字段。大家帮我看看哪里有的问题,多谢了
...全文
927 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hly628 2012-01-07
  • 打赏
  • 举报
回复
顶楼上的,查看下执行计划。
争取今天 2012-01-07
  • 打赏
  • 举报
回复
你对比一下sql修改前后语句执行计划的变化,把它贴出了
yjytiantang 2012-01-07
  • 打赏
  • 举报
回复
你的 INF_CompanyInfo的cid 和fcid 字段定義的是number類型還是varchar類型?
如果是number類型,這樣寫的話,要進行類型轉換,會很耗時間。
and INF_CompanyInfo.fcid = '20101124103354000'
and INF_CompanyInfo.cid = '20101124103856156'

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧