Где лучше хранить пользовательские настройки?

Имею Rails приложение с более чем 50-тью пользовательских параметров( часовой пояс, настройки приватности и отображения информации). Где лучше их хранить? В одной таблице с основной информацией пользователя или в отдельной таблице? Что есть лучшей практикой?
Также рассматриваю вариант размещения в Postgres hstore.
  • Вопрос задан
  • 3103 просмотра
Решения вопроса 1
@vsuhachev
Если настройки хранятся в той же таблице что и пользователь и их много, то это лишни затраты при подкачке объекта из БД в тех случаях когда настройки не нужны. Например, пользователь дергается каждой страницей для того чтобы проверить его привилегии, при этом в нагрузку вы еще и 50 параметров вытягиваете и создаете для них объекты.

Плюс hstore и поля с json - не нужно менять схему БД при изменении состава параметров.

По hstore: минус - привязка к PG, плюс - производительность и обещают что в следующей версии допилят полноценный поиск и индексирование по полям из hstore
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
deadbyelpy
@deadbyelpy
веб-шмеб
Вероятно вам не придется искать пользователей по определенным полям в параметрах.
В таком случае, можно завести таблицу с ключом - id пользователя, и строкой параметров в JSON формате, то простое решение, но плохого в таком подходе ничего нет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы