> |--Nested Loops(Inner Join, OUTER REFERENCES:([Bmk1002])) > |--Nested Loops(Inner Join, OUTER REFERENCES:([d].[CCYCLE])) > | |--Index Seek(OBJECT:([lumelids].[dbo].[DPAYRSLT].[IX_DPAYRSLT] AS [d]), SEEK:([d].[CNOEE]='1023' AND [d].[CPERIOD]='200601') ORDERED FORWARD) && 33% > | |--Index Seek(OBJECT:([lumelids].[dbo].[dpaydtl].[IX_dpaydtl] AS [p]), SEEK:([p].[CNOEE]='1023' AND [p].[CPERIOD]='200601' AND [p].[CCYCLE]=[lumelids].[dbo].[DPAYRSLT].[CCYCLE] as [d].[CCYCLE]) ORDERED FORWARD) && 33% > |--RID Lookup(OBJECT:([lumelids].[dbo].[dpaydtl] AS [p]), SEEK:([Bmk1002]=[Bmk1002]) LOOKUP ORDERED FORWARD) && 33%>
|--Hash Match(Inner Join, HASH:([Expr1005])=([Expr1006]), RESIDUAL:([Expr1005]=[Expr1006])) > |--Compute Scalar(DEFINE:([Expr1005]=(([lumelids].[dbo].[DPAYRSLT].[CNOEE] as [d].[CNOEE]+[lumelids].[dbo].[DPAYRSLT].[CPERIOD] as [d].[CPERIOD])+[lumelids].[dbo].[DPAYRSLT].[CCYCLE] as [d].[CCYCLE])+[lumelids].[dbo].[DPAYRSLT].[CCOMPANY] as [d].[CCOMPANY])) > | |--Index Seek(OBJECT:([lumelids].[dbo].[DPAYRSLT].[IX_DPAYRSLT] AS [d]), SEEK:([d].[CNOEE]='1023' AND [d].[CPERIOD]='200601') ORDERED FORWARD) &&4% > |--Compute Scalar(DEFINE:([Expr1006]=(([lumelids].[dbo].[dpaydtl].[CNOEE] as [p].[CNOEE]+[lumelids].[dbo].[dpaydtl].[CPERIOD] as [p].[CPERIOD])+[lumelids].[dbo].[dpaydtl].[CCYCLE] as [p].[CCYCLE])+[lumelids].[dbo].[dpaydtl].[CCOMPANY] as [p].[CCOMPANY])) > |--Table Scan(OBJECT:([lumelids].[dbo].[dpaydtl] AS [p])) && 60%Unfortunately, there is no simple answer to your straightforward question. The more preferable one is the one that returns the results fastest and with the least resource consumption in your server environment.