Jeff Moden (7/29/2015)
What's the execution plan without the IF statement look like?
Here:
|--Compute Scalar(DEFINE: ([Expr1008]=CONVERT_IMPLICIT(int,[Expr1013],0)))
|--Stream Aggregate(DEFINE: ([Expr1013]=Count(*)))
|--Nested Loops(Inner Join)
|--Table Spool
| |--Segment
| |--Sort(ORDER BY: ([v].[name] ASC))
| |--Table Scan(OBJECT: ([userdb].[dbo].[table1] AS [v]))
|--Nested Loops(Inner Join, WHERE: ([Expr1007]<>[userdb].[dbo].[table1].[somedate] as [v].[somedate]))
|--Stream Aggregate(DEFINE: ([Expr1007]=MAX([userdb].[dbo].[table1].[somedate] as [v].[somedate])))
| |--Table Spool
|--Table Spool