• Thanks Grant.

    I've looked at the plan again, and the query is left joining to the table that has the index seek/lookup (not every row on the outer side of the query has a match in this table), and the IsBaseRow column seems to only be used as a PassThru argument (IsBaseRow IS NULL) to the loop join for the Lookup. The actual executions of the lookup are the same number as the number of matching rows.

    So is the "IsBaseRow" column being used as a flag to perform the RID Lookup/skip it for a particular row? If so, it seems odd to include an extra column rather than doing a NULL check on the Bmk.