Я храню различные данные пользователя в моей базе данных MySQL. Первоначально он был настроен в разных таблицах, что означает, что данные связаны с UserIds и выводятся с помощью иногда сложных вызовов для отображения и управления данными по мере необходимости. Создавая новую систему, почти разумно объединить все эти таблицы в одну большую таблицу связанного контента.
- Это будет помощь или препятствие?
- Вопросы скорости при вызове, обновлении или поиске/манипулировании?
Вот пример некоторых из моих табличных структур:
- пользователи - UserId, имя пользователя, адрес электронной почты, зашифрованный пароль, дата регистрации, ip
- user_details - данные cookie, имя, адрес, контактные данные, принадлежность, демографические данные
- user_activity - вклад, последний онлайн, последний просмотр
- user_settings - параметры отображения профиля
- user_interests - рекламные целевые переменные
- user_levels - права доступа
- user_stats - hits, tallies
Изменить: Я до сих пор поддерживал все ответы, все они имеют элементы, которые по существу отвечают на мой вопрос.
В большинстве таблиц есть связь 1:1, которая была основной причиной денормализации их.
Будут ли проблемы, если таблица охватывает более 100 столбцов, если большая часть этих ячеек, вероятно, останется пустой?