O'Reilly logo
  • Vinod Kumar thinks this is interesting:

An operator requests rows from other operators by calling their GetRow() method, which also means that execution in a plan starts from left to right. Because GetRow() produces just one row at a time, the actual number of rows displayed in the execution plan is also the number of times the method was called on a specific operator, and an additional call to GetRow() is used by the operator to indicate the end of the result set. In the previous example, the Hash Aggregate operator calls the Open() method once, GetRow() 19,615 times, and Close() once on the Index Scan operator.


Cover of Microsoft SQL Server 2014 Query Tuning & Optimization


This may be a overhead when it calls the getrow() method as per the records size.