Hi there,I wrote a query to meet my logic but performance kills. Want to replace the outer apply in following query,[code="sql"]select ProdA.Productid, ProdB.ProductID FROM BHSProd.dbo.ClaimPayment CP WITH (NOLOCK) INNER JOIN BHSProd.dbo.Claim C WITH (NOLOCK) ON CP.ClaimID = C.ClaimID_PK AND CP.IsHistory = 0 AND CP.StatusID <> 5105 --ADJ AND ISNULL(CP.ApprovedAmount, 0) >= 0 --Added instead of the commented code at the last lines AND C.RowState <> 'R' AND C.SyntheticClaimID IS NOT NULL INNER JOIN BHSProd.dbo.ClaimProviderDetail CPD WITH (NOLOCK) ON CPD.ClaimID = C.ClaimID_PK AND CPD.RowState <> 'R' AND CPD.ProviderTypeID = 731 -- Rendering (Claim --> Provider Type) INNER JOIN BHSProd.dbo.ClaimMemberDetail CMD WITH (NOLOCK) ON CMD.ClaimID = C.ClaimID_PK AND CMD.LineOfBusinessID = @LOBID INNER JOIN BHSProd.dbo.Member M WITH (NOLOCK) ON M.MemberID_PK = CMD.MemberID AND M.RowState <> 'R' INNER JOIN BHSProd.dbo.[User] U WITH (NOLOCK) ON U.UserID = ISNULL(CP.ModifiedBy, CP.AddBy) LEFT JOIN vW_CLID CLID ON CLID.ClaimID = C.ClaimID_PK --CP.ClaimID LEFT JOIN VW_ClaimRefundAmt ClaimRefundAmt ON ClaimRefundAmt.ClaimID = C.ClaimID_PK OUTER APPLY ( SELECT TOP 1 BP.ProductID AS ProductID FROM BHSProd.dbo.BenefitPlan BP INNER JOIN BHSProd.dbo.MemberCoverage MCov WITH (NOLOCK) ON MCov.BenefitPlanID = BP.BenefitPlanID AND 1 = ( CASE WHEN ISNULL(MCov.TerminationDate, '') <> '' AND CONVERT(DATE, C.FirstDateOfService, 101) >= CONVERT(DATE, MCov.EffectiveDate, 101) AND CONVERT(DATE, C.FirstDateOfService, 101) <= CONVERT(DATE, MCov.TerminationDate, 101) THEN 1 WHEN ISNULL(MCov.TerminationDate, '') = '' AND CONVERT(DATE, C.FirstDateOfService, 101) >= CONVERT(DATE, MCov.EffectiveDate, 101) THEN 1 ELSE 0 END ) WHERE MCov.MemberID = CMD.MemberID ) ProdA OUTER APPLY ( SELECT TOP 1 BP.ProductID AS ProductID FROM BHSProd.dbo.BenefitPlan BP WITH (NOLOCK) INNER JOIN BHSProd.dbo.membercoverage MC WITH (NOLOCK) ON MC.BenefitPlanID = BP.BenefitPlanID --AND MC.RowState <> 'R' AND MC.MemberID = CMD.MemberID ORDER BY ISNULL(MC.TerminationDate, MC.EffectiveDate) DESC ) AS ProdB[/code]
↧