• Paul White (4/2/2009)


    My understanding is that a 'seek' always selects one row (either by key or rid).

    A scan may be a scan of any part of an index, which involves more than a 1-row seek.

    Not at all. Seeks can return any number of rows, up to the total number of rows in the table.

    It's a seek if SQL used the b-tree to find the row or the start or end of the range. It's a scan if the entire table/index is read with no search.

    See - http://sqlinthewild.co.za/index.php/2009/03/05/when-is-a-seek-actually-a-scan/

    Unless I am missing something there?

    Basically what it means is that the scan count can't be trusted as not all operators set it in the same way.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass