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