Генерация 1млн билетов со случайными уникальными ID
Как вариант заранее сгенерить табличку с 1млн записей, только уже в табличке эти записи перемешать.
А выдавать — по-порядку.
ORDER BY RAND это будет жесть
Разбейте на интервалы с шагом, скажем, 5 000

Первый рандом — выбор интервала, скажем от 200000 до 205000
Потом проверка пробегитесь по этому интервалу и найдите все «пустые» значения. Среди них выберите случайное.
Если «пустых» нет — пометьте, что этот интервал занят полностью и больше его не используйте