• Thanks for the great article David!

    From the article:

    Therefore, each row in a database, at any given point in time, can be identified by three numbers; file number - page number - row number. This identifying composite of three numbers is called the row id, usually shortened to RID. Most tools that display SQL Server internals information will display these three numbers separated by colons (instead of hyphens). So the 12th row on the 77th page of file 1 would have a RID of 1:77:12.

    You explained why SQL Server will use the RID as the Bookmark in a Heap's non-clustered index but how much space does the RID actually occupy on those index entries? i.e. is the RID comprised of 3 separate INTs and are they stored as such, using 12 bytes on each index entry?

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato