Make the Optimizer Work Harder
One of my favorite indicators for whether or not you have a good execution plan is when you see the “Reason for Early Termination†property in the TSQL operator like this: The optimizer considered this particular plan “Good Enough.†which is what you want to see. When you see “Timeout†as the reason, that’s an indication that the plan you have may be sub-optimal. The question is, can you make the optimizer spend more time on your queries. Well, actually, the question is, should you make the optimizer spend more time on queries. During my session on SQL Cruise I answered the original phrasing of that question, no. As usual when I present in front of people smarter than I am, I was wrong. Brent Ozar (blog|twitter) pointed out that…