@alexsemen94
начинающий прогаммист

Как организовать генерацию уникальных кодов?

Проблема не только в том, что не получается сгенерить уникальные коды, проблема в догенерации. К примеру, необходимо сгенерить 500к кодов, скажем в базе уже находится 400к, вопрос как догенерить необходимое кол-во кодов, за меньшее время. Чтобы не делать 400к проверок, чтобы добавить 400 001 код.

Я извиняюсь, за не полноту. Коды могут быть разной длины. В сервисе для кодов также задаются некоторые правила, например, длина кода и алфавит.
  • Вопрос задан
  • 344 просмотра
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Использовать формулу: CODE=N.
Где code - это код, а N - порядковый номер.
Или более сложную формулу зависимости кода от N без коллизий.

Ещё вариант: составить у уже всех имеющихся кодов единую 3-х мерную матрицу по каждому символу: символ, позиция, id кода.
Там, где останутся пустые ячейки - это свободные комбинации (знакоместА) для новых кодов.
Ответ написан
Комментировать
LaRN
@LaRN
Senior Developer
Можно попробовать использовать GUID. Утверждается что они уникальны. Т.е. можно не проверять наличие такого же в базе при вставке нового.
Ну или уникальным кодом может быть целое число. Находим максимальное которое уже сохранено в базе и начинаем от него генерировать вверх.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы