sql大提速,经过N次提速,从10多秒到1秒。

没靠加索引,纯sql优化,提速最快的,效果最好。


 WITH TEST AS
 (
 SELECT M1.FloderID,M1.ParentFloderID,M1.FloederName FROM MB_Favoriten M1  WHERE FloderID=0
 UNION ALL
 SELECT M2.FloderID,M2.ParentFloderID,M2.FloederName FROM MB_Favoriten M2 JOIN TEST ON M2.ParentFloderID=TEST.FloderID
 ),
 
 A AS
 (
 SELECT A1.* FROM MB_Employment A1 INNER JOIN
 (SELECT ResumeID,MAX(BEGDA) BEGDA FROM MB_Employment GROUP BY ResumeID) B1
 ON A1.BEGDA=B1.BEGDA AND A1.ResumeID=B1.ResumeID
 )
 
SELECT Fa.ID,Fa.ResumeID,L_NAME,(CASE WHEN Po.FOA_KEY=1 THEN '男' ELSE '女' END) Sex,
YEAR(GETDATE())-YEAR(B_DATE) AS Age,YearName,School.ShoolageName SchoolName,M.ZZEMPLR 'Company',M.ORT01 'poName' 
FROM MB_Favoriten_Resume Fa
LEFT JOIN MB_Posinal Po on Po.ResumeID=Fa.ResumeID
LEFT JOIN MB_WorkYears Work on Work.YearID=Po.YearID
LEFT JOIN MB_Education Edu on Edu.ResumeID=Po.ResumeID
LEFT JOIN MB_Shool_Age School on School.ShoolageId=Edu.EDUC_EST
LEFT JOIN A M ON  M.ResumeID=Fa.ResumeID
WHERE Fa.ITCode='wulina' AND EXISTS (SELECT FloderID FROM TEST T WHERE T.FloderID=Fa.FloderID)

posted @ 2010-09-25 09:17  王海龙(Heaven)  阅读(280)  评论(0编辑  收藏  举报