Subject RE: [firebird-support] Another ordering question?
Author Leyne, Sean
> Well, with all transaction numbers within a few hundred of each other
>     Oldest transaction    391428664
>     Oldest active        391428665
>     Oldest snapshot        391428665
>     Next transaction    391429145

Actually, there are 480 transactions between you and the OAT.

> so that doesn't look like the explanation ...

First, you need to remember that FB indexes are transactionless -- they simply store the values, without context of the value for a given transaction.

Accordingly, the engine must fetch/read each row to determine the field value(s) for a given transaction.

So, while the engine can "walk" the index for the order, it still must confirm whether the row is active for a transaction and what the correct field values(s) are.