I wrote:

> The reason for 2x fetches is that Firebird identifies a record through a
> slot in a vector on the data page - both the page and the slot are part of
> the RDB$DB_KEY.   The page is identified indirectly through an index of
> pages for the table.  The values in the vector on the data page are the
> length of the stored record and the offset on the page of the first byte of
> the record.
>

 Going through a record locator vector means that records can move within a
page without affecting
anything off the page, so it's very cheap to repack a page to reclaim
fragments of space.

But you already figured that out yourselves....

Cheers,

Ann

Reply via email to