Пока что речь идет о том, насколько плохи UUID. Хотя я согласен, я не думаю, что это применимо здесь.
Ваша ситуация такова: учитывая один случайный идентификатор, извлеките одну запись, к которой она относится. Правильный? Вы не беспокоитесь о получении нескольких «последовательных» записей.
Генерация случайного ключа: UUID довольно громоздки; Вы могли бы хотеть что-то более короткое. Возьмите MD5()
некоторой уникальной строки - возможно, идентификатор AUTO_INCREMENT
, связанный с секретным семенем. Затем конвертируйте в base64, чтобы он не был слишком длинным. (Предостережение: обратите внимание на специальные символы, которые могут испортить URL).
Извлечение: использование этого ключа в качестве ключа PRIMARY KEY
или UNIQUE
будет стоить чего-то случайным образом. Но я подозреваю, что это будет лишь небольшой процент от накладных расходов в вашем приложении.