Как вы генерируете unique_ids - это полезный вопрос, но вы, кажется, делаете контрпродуктивное предположение о , когда вы генерируете их!
Я хочу сказать, что вам не нужносгенерируйте эти уникальные идентификаторы во время создания ваших строк, потому что они по существу не зависят от вставляемых данных.
Что я делаю, это предварительно генерирую уникальные идентификаторы для будущего использования, таким образом, я могу взять свой собственный сладкийвремя и абсолютная гарантия, что они уникальны, и во время вставки обработка не производится.
Например, у меня есть таблица заказов с order_id.Этот идентификатор генерируется на лету, когда пользователь вводит заказ, постепенно 1,2,3 и т. Д. Навсегда.Пользователю не нужно видеть этот внутренний идентификатор.
Тогда у меня есть другая таблица - unique_ids с (order_id, unique_id).У меня есть подпрограмма, которая запускается каждую ночь, которая предварительно загружает эту таблицу с достаточным количеством строк unique_id, чтобы более чем покрывать заказы, которые могут быть вставлены в следующие 24 часа.(Если я когда-нибудь получу 10000 заказов за один день, у меня возникнет проблема - но это было бы хорошей проблемой!)
Этот подход гарантирует уникальность и устраняет любую нагрузку обработки от транзакции вставки допакетная процедура, где она не влияет на пользователя.