当前位置: 代码迷 >> Oracle开发 >> 小白求指点 sql 优化
  详细解决方案

小白求指点 sql 优化

热度:420   发布时间:2016-04-24 06:34:40.0
小白求指导 sql 优化

SELECT
    Patient.fid,
    Patient.fName_l1,
    Patient.FAlternateNo,
    Patient.FAlternateNo2,
    Patient.FCoSchemeCode,
    Company.FName_l1,
    Patient.FHKID,
    Patient.FPatientACNo,
    OwnerPat.FName_L1 as acctName,
    Patient.FStaffGrade,
    Contract.FPlanDescription,
    Patient.FStatus
FROM
  T_UF_Patient Patient
    LEFT JOIN T_BD_Company Company ON Patient.FCoCode = Company.FNumber
    LEFT JOIN T_CM_ContractMain Contract ON Patient.FCoSchemeCode = Contract.FNumber
    LEFT JOIN T_UF_Patient OwnerPat on Patient.FCOSchemeCode = OwnerPat.FCOSchemeCode and Patient.FPatientDependACNO  = OwnerPat.FPatientACNo
  WHERE
  (Patient.FAlternateNo like '%')
  and Contract.FID in (
    SELECT distinct c1.fid FROM t_cm_contractmain c1,
    (SELECT max(fversionnumber) fversionnumber,fnumber FROM t_cm_contractmain GROUP BY fnumber) c2
    WHERE NVL(c1.fversionnumber,0) = NVL(c2.fversionnumber,0) and c1.fnumber = c2.fnumber
  )
  ORDER BY 'PATNAME';


恳请大神指导优化,,,数据库又500W条数据,,,如何优化~~~ 现在查询,平均 》= 40 s




Thanks
------解决思路----------------------
没啥不好,就是版本太低(oracle9i以下)用不了
  相关解决方案