Home Dashboard Directory Help
Search

ONLINE Index Rebuild Adds One Byte To The Index Row by Paul White NZ


Status: 

Closed
 as By Design Help for as By Design


4
1
Sign in
to vote
Type: Bug
ID: 488761
Opened: 9/8/2009 8:03:22 PM
Access Restriction: Public
0
Workaround(s)
view
4
User(s) can reproduce this bug

Description

When rebuilding an existing non-clustered index ONLINE, the operation adds one extra byte per index row. Rebuilding the index OFFLINE removes the extra byte.

This is not the behaviour that adds 14 bytes of row-versioning overhead with an ONLINE rebuild (the present behaviour occurs when row-versioning isolation levels are disabled in the database).

The max_record_size for a nonclustered index on a single column INT on a heap is reported as 13 or 14 bytes depending on whether the last build or rebuild was OFFLINE (13 bytes) or ONLINE (14 bytes). I was expecting 12 bytes for the row (8 byte RID + 4 byte INT).
Details
Sign in to post a comment.
Posted by Paul White NZ on 10/2/2012 at 3:35 PM
The extra byte is anti-matter.
Posted by Paul White NZ on 9/10/2009 at 4:23 PM
Thank you for responding so quickly.

Paul
Posted by Microsoft on 9/10/2009 at 9:41 AM
Thanks for contacting us. You will notice that with ONLINE, we are adding an extra byte at position 2 in the record. This extra byte is used internally for ONLINE build. This only happens for non clustered index.

Thanks
Sunil
Sign in to post a workaround.