Harald Fuchs <hf0731x@xxxxxxxxxxxxxx> writes: > In article <87zme7uvcn.fsf@xxxxxxxxx>, > Jorge Godoy <jgodoy@xxxxxxxxx> writes: > >> Harald Fuchs <hf0731x@xxxxxxxxxxxxxx> 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@xxxxxxxxx>