同样的Oracle SQL语句在JDBC中执行很快,在PL/SQL执行却很慢

我有一条SQL语句里面有一个,查询列中有一个函数,在应用中取值需5秒,在PL/SQL中需要16秒,
如果去掉查询函数,则只需要2秒,但是应用中依然是5秒,语句如下

select cc_STATUS ccstatus
,c3o7.c3get_desc('ZH','UCOD', e.cc_status,'EVST', '') ccstatus_display
FROM c3ucodes u, c3events e
LEFT OUTER JOIN c3firstact a ON ( a.act_event = e.evt_code )
WHERE e.cc_rstatus IN ('Q', 'R', 'C')
AND e.cc_rtype IN ('JOB', 'PPM')
AND u.uco_rentity = 'JBTP'
AND u.uco_code = e.evt_jobtype
AND u.uco_rcode <> 'IS'
order by evt_created ASC
有没有大神知道是什么原

2个回答

如果查询结果的数据量不是很大,应该是执行计划不够优,分析一下uco_rentity是否可以增加索引,此外对于查询函数也分析一下执行计划。

是不是你取值只看部分的?实际上取所有值的时间还是一样的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问