In article <87zme7uvcn(dot)fsf(at)gmail(dot)com>,
Jorge Godoy <jgodoy(at)gmail(dot)com> writes:
> Harald Fuchs <hf0731x(at)protecting(dot)net> writes:
>> Why putting gapless numbers into the database at all? Just calculate them at
>> query time.
> And how would you retrieve the record that corresponds to invoice number
> #16355, for example? Recalculating few records is fine, but millions of them
> everytime you need to recover some of those is something that doesn't look
> efficient to me...
This would be
SELECT whatever
FROM tbl
ORDER BY id
LIMIT 1
OFFSET 16355 -1
Since id is the primary key, this can use an index scan.