По-добре е да съхранявате таблица с всички дефинирани 10 000 възможни стойности и флаг "в употреба" на всяка. По този начин освобождаването на номера за повторна употреба е проста актуализация за задаване на „inuse=false“.
Също така прави намирането на най-ниската налична стойност лесно
SELECT idstring
FROM idstringtable
ORDER BY idstring ASC
WHERE (available = 1)
LIMIT 1
Правенето на това с подходящи заключвания/транзакции би попречило на две или повече заявки да получат един и същ идентификатор и тъй като таблицата е малка, извършването на глобално заключване на таблицата няма да повлияе значително на производителността.
В противен случай ще останете да ровите из таблицата на потребителите си, опитвайки се да намерите първата „пропаст“ в последователността на номериране.