Harald Fuchs <hf0731x@protecting.net> writes:
> In article <87zme7uvcn.fsf@gmail.com>,
> Jorge Godoy <jgodoy@gmail.com> writes:
>
>> Harald Fuchs <hf0731x@protecting.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.
If the ID was the number yes. I thought you were suggesting having the number
computed at "query time", not to insert the record on the table...
--
Jorge Godoy <jgodoy@gmail.com>