Мой стандартный совет (из многолетнего опыта работы с хранилищами данных / BI) здесь:
всегда хранит самый низкий уровень разбитой детализации , т.е. опция нескольких полей.
В дополнение к этому, в зависимости от ваших потребностей, вы можете добавить индексы или даже составное поле, которое объединяет два других поля - хотя убедитесь, что поддерживаете с триггером, а не вручную, или у вас будет синхронизация данных ипроблемы с качеством.
Часть правильного ответа для вас всегда будет зависеть от вашего фактического использования.Можете ли вы когда-нибудь ожидать, что вам потребуется адрес в стандартном (2-строчном) формате для рассылки ... или обмена с другими организациями?Или это действительно чистая база данных «только для чтения», которая просто настроена для запросов и не используется для более стандартных потребностей в адресах, таких как рассылки.
В конце дня, если у вас есть проблемы с производительностью запросовВы можете добавить дополнительные структуры, такие как составные поля, индексы и даже другие таблицы с теми же данными в другой форме.Тогда есть также варианты для кэширования на уровне сервера, если производительность низкая.Если вы создаете сложный сайт или сайт с интенсивным трафиком, скорее всего, вы в конечном итоге получите продукт, который поможет, например, в мире программирования на Ruby люди используют продуманный сфинкс Если производительность запросов все еще остается проблемой, а ваши данныеВ будущем вам, возможно, придется рассмотреть решения, не относящиеся к SQL, такие как MongoDB .
И еще один последний принцип, которого я также придерживаюсь: подумайте о людях, которые обновляют данные, если это произойдет в этой системе.Когда люди вводят данные вначале, а затем впоследствии переходят к редактированию этой информации, они ожидают, что эта информация будет «одинаковой», поэтому любая внутренняя манипуляция, которая фактически изменяет форму или содержание ввода пользователя, станет большой головной болью при попытке разрешить имсделать простое редактирование.Я видел безумно сложные алгоритмы кодирования и декодирования данных таким способом, и у них часто бывают проблемы.