sql优化问题请教

Java菜鸟成长之路 2012-09-10 04:24:45
select
sf.name,
(select ratemax from sdc_fundfeeratechange where fndratecodeii=101001 and scode=sf.scode and begindate=
(select max(begindate) from sdc_fundfeeratechange where fndratecodeii=101001 and scode=sf.scode and begindate<=sysdate)) maxrate from
(select name,scode from sdc_company left join sdc_fundbase on fund18=companycode) sf
这是我的sql语句,查找出距离当前日期最近的那个日期的ratemax,写完后我F5了一下,sdc_fundfeeratechange 这个表的总的cost值1157,这是我不能承受的,希望各位大神帮忙优化提速一下,非常感谢
...全文
67 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyee 2012-09-10
  • 打赏
  • 举报
回复
SELECT name,
(SELECT MAX(ratemax) KEEP(DENSE_RANK LAST ORDER BY begindate)
FROM sdc_fundfeeratechange
WHERE fndratecodeii = 101001
AND scode = sf.scode
) maxrate
FROM sdc_company LEFT JOIN sdc_fundbase sf ON fund18 = companycode

3,491

社区成员

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

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