Я зберігаю різні дані користувачів у своїй базі даних MySQL. Спочатку він був створений у різних таблицях, тобто дані пов'язані з UserIds і виводяться через інколи складні дзвінки для відображення та маніпулювання даними, якщо потрібно. Встановлюючи нову систему, практично має сенс поєднувати всі ці таблиці в одну велику таблицю відповідного вмісту.
- Це буде допомога чи перешкода?
- Міркування щодо швидкості виклику, оновлення чи пошуку / маніпулювання?
Ось приклад деяких структур моїх таблиць:
- користувачі - UserId, ім'я користувача, електронна пошта, зашифрований пароль, дата реєстрації, ip
- user_details - дані cookie, ім’я, адреса, контактні дані, приналежність, демографічні дані
- user_activity - внески, останній онлайн, останній перегляд
- user_settings - налаштування відображення профілю
- user_interests - рекламні орієнтовані змінні
- user_levels - права доступу
- user_stats - хіти, талі
Редагувати: Я відповів на всі відповіді досі, всі вони мають елементи, які по суті відповідають моєму питанню.
Більшість таблиць мають відношення 1: 1, що було основною причиною денормалізації.
Чи виникнуть проблеми, якщо таблиця охоплює понад 100 стовпців, коли велика частина цих комірок, ймовірно, залишиться порожньою?