Что-то или я туплю или вы ищете слишком сложное решение.
Сделайте таблицу free_tickets в которой будет 1 миллион записей (и где у каждого билета будет GUID) и таблицу purchased_tickets с пустыми записями.
Когда покупают билет — кидайте рендом от 0 до количества зписей в free_tickets. Выпадает порядковый номер записи в таблице. Этот билет перемещаем в purchased_tickets.
Как бы… всё :) ЧЯДНТ?