Bylo by lepší uložit tabulku se všemi definovanými 10 000 možnými hodnotami a s příznakem „používá se“. Tímto způsobem je uvolnění čísla pro opětovné použití jednoduchou aktualizací nastavením "inuse=false".
Také usnadňuje nalezení nejnižší dostupné hodnoty
SELECT idstring
FROM idstringtable
ORDER BY idstring ASC
WHERE (available = 1)
LIMIT 1
Pokud to uděláte s vhodnými zámky/transakcemi, zabráníte tomu, aby dva nebo více požadavků získaly stejné ID, a protože se jedná o malou tabulku, provedení globálního zámku tabulky by výrazně neovlivnilo výkon.
V opačném případě byste se museli prohrabovat kolem tabulky uživatelů a snažit se najít první "mezeru" v posloupnosti číslování.