php: быстрый способ генерации 5-значного числа, еще не находящегося в столбце MySQL db (с уникальным атрибутом)

Предположим, что в таблице 1 содержится порядковый номер столбца (а не ключ, хотя он НЕ является NULL и уникальным). Он содержит 5-значное число. Каков наилучший способ генерации php var $ unique_var, который не находится в этом столбце. Что может быть важно, от 10% до 30% 5-значных чисел в таблице (так что генерация числа и проверка while (mysql_num_rows() ==0) {} не лучший способ ее найти, есть ли какие-либо лучшее решение для производительности?).

Спасибо.

Если всего 10-30% уже занятых, то это означает, что только 10-30% запросов будут выполняться как минимум дважды. Это не большая проблема с производительностью.

В противном случае – просто создайте таблицу с 5-значными номерами (всего 100 тыс. Строк) и удалите все существующие. Когда вам нужно другое случайное число – просто выберите его и удалите.

Я бы предложил найти наибольшее число (с предложением MAX ()) и начать с этого момента.

Вот несколько предложений. У каждого есть свои недостатки.

  1. Предварительно заполните таблицу и добавьте столбец, чтобы указать, что номер не используется. Выберите неиспользованный номер с помощью LIMIT = 1 и отметьте его. Это использует много места.
  2. Сохраните отдельную таблицу, содержащую ранее использованные номера. Если эта таблица пуста, генерируйте числа последовательно из последнего использованного числа (или из 00001, если Таблица 1 пуста). Это требует некоторой дополнительной бухгалтерии.