Andy Brownsword rounds up the usual suspects:
In the last post we looked at how
TOP
andMAX
operators compared. We saw the execution plan for aMAX
function used a Stream Aggregate operator which is one of two which we can use for aggregationI wanted to look at the two operators and how they perform the same tasks in different ways. The way they function is key to understanding why the engine may choose to use one over the other and the impact this can have on the performance of a query.
The two operators in question: the Hash Match (Aggregate) and Stream Aggregate
Read on for a discussion of how each operator works and when each makes sense for the optimizer to use.