ОК, давайте разберемся, я генерирую идентификатор, и в случае коллизии буду делать откат транзакции, и повторно генерировать идентификатор, так? Если да, то непонятно сколько таких циклов будет при солидной нагрузке (плюс еще ограниченное время выполнения по ПХП).
Если я правильно понял, то тогда выгоднее лочить таблицу, хотя тот же гемор по времени выполнения ПХП и ожиданию пользователя.