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,这是我不能承受的,希望各位大神帮忙优化提速一下,非常感谢
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,这是我不能承受的,希望各位大神帮忙优化提速一下,非常感谢
(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