| From: | Steve Adams |
| Date: | 08-Nov-2000 12:48 |
| Subject: | ROWID and row header size |
|
|
There is a 3-byte row header for every row - 1 for various flags, 1 for the row-level lock, and 1 for a column count. There is also a 2-byte entry in the row directory in the block header that contains the offset into the block at which the row is located. The rowid of a row is just its address. It does not normally take any storage space. However, if you store a rowid explicitly, it takes 10 bytes - 4 for the data layer object id, 1 for the tablespace relative file number, 4 for the block number, and 1 for the row number in the block. This called the "extended" rowid format. Oracle also uses a 6-byte "restricted" rowid format internally where the object id is invariant.
|
![]() |
Where can I find the ROWID size, and the row header size in bytes.
|