То есть вы считаете что если основная таблица состоит из миллионов строк, и в каждой строке есть 1 поле один ко многим нормализация лучший вариант ? А если связь эта минимум будет состоять из 10 значений ? Таблица в 10 миллионов строк ? Абсолютно не нужная таблица выборка по которой будет замедляться с каждым новым значением в основной таблице.
Сейчас базы спокойно умеют работать с последовательностями и на производительности по всем тестам это гораздо лучше нормализации. В Постгресе давно уже массивы данных придумали, в mysql find_in_set и небольшая пользовательская функция спокойно нагнут вашу нормализацию.
Я за 3 вариант. Только вот сфинкс не умеет джоинить такие поля. Нужно уже на бэкенде обрабатывать эти числа и подставлять туда значения, либо создавать вторую колонку где уже будут сопоставления ид.