У меня есть случай, когда на рынке много рекламы. Каждая акция распространяется только на клиентов из белого списка. Существует вероятность того, что клиент внесен в белый список для более чем одного продвижения. Кроме того, он должен обрабатывать большой трафик, поскольку клиент всегда вводил промо-код, чтобы узнать, подходит ли он для этого или нет. В настоящее время я реализовал таблицу whitelist_customer со столбцом customer_id с уникальным индексом и столбцом values с типом данных массива text []. Например, в одной строке я могу хранить customer_id '1', и этот клиент может участвовать в трех рекламных акциях, поэтому я сохраняю 'значения' с помощью 'PROMOCODE1', 'PROMOCODE2', 'PROMOCODE3'.
Поэтому, когда customer_id '1' вводит код PROMOCODE2, он запрашивает соответствие требованиям, выполняя поиск по его customer_id, а затем выполняет поиск с помощью @> (содержит).
Является ли этот подход лучшим решением?