Как сгенерировать случайное число (от 0 до 999999) которого нет в БД? Требуется генерировать случайные числа, которых нет в БД. От 0 до 999999. В данный момент использую таблицу A с данными (где ID не повторяются и являются случайными и не последовательными) и таблицу B со списком ID (от 0 до 999999). Вычитаю из B таблицу A и получаю случайную строку. Это метод не совсем удобен т.к. таблица B занимает много места. Существуют ли альтернытивные способы (алгоритмы) для осуществления данной процедуры?

21 Авг 2019 в 06:09
185 +1
0
Ответы
1

Да, существует более эффективный способ для генерации случайного числа, которого нет в БД.
Один из способов это сгенерировать случайное число в пределах от 0 до 999999, а затем проверить его наличие в таблице A. Если число уже есть в таблице, то сгенерировать новое число и повторить проверку.

Примерный алгоритм:

Сгенерировать случайное число от 0 до 999999.Проверить его наличие в таблице A.Если число уже есть в таблице A, вернуться к шагу 1.Если число отсутствует в таблице A, использовать его как уникальное случайное число.

Этот способ позволяет избежать использования дополнительной таблицы B и занимает меньше места в базе данных.

20 Апр 2024 в 13:23
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир