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

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

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

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

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

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

20 Апр в 13:23
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 548 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир