Ich speichere verschiedene Benutzerdetails in meiner MySQL-Datenbank. Ursprünglich wurde es in verschiedenen Tabellen eingerichtet, was bedeutet, dass Daten mit UserIds verknüpft sind und über manchmal komplizierte Aufrufe ausgegeben werden, um die Daten nach Bedarf anzuzeigen und zu bearbeiten. Beim Einrichten eines neuen Systems ist es fast sinnvoll, alle diese Tabellen in einer großen Tabelle mit verwandten Inhalten zu kombinieren.
- Wird dies eine Hilfe oder ein Hindernis sein?
- Überlegungen zur Geschwindigkeit beim Aufrufen, Aktualisieren oder Suchen / Bearbeiten?
Hier ist ein Beispiel für einige meiner Tabellenstrukturen:
- Benutzer - Benutzer-ID, Benutzername, E-Mail, verschlüsseltes Passwort, Registrierungsdatum, IP
- user_details - Cookie-Daten, Name, Adresse, Kontaktdaten, Zugehörigkeit, demografische Daten
- user_activity - Beiträge, zuletzt online, letzte Anzeige
- user_settings - Einstellungen für die Profilanzeige
- user_interests - Werbung für zielgerichtete Variablen
- user_levels - Zugriffsrechte
- user_stats - Treffer, Tallies
Bearbeiten: Ich habe bisher alle Antworten positiv bewertet, sie haben alle Elemente, die im Wesentlichen meine Frage beantworten.
Die meisten Tabellen haben eine 1: 1-Beziehung, was der Hauptgrund für die Denormalisierung war.
Wird es Probleme geben, wenn sich die Tabelle über mehr als 100 Spalten erstreckt, wenn ein großer Teil dieser Zellen wahrscheinlich leer bleibt?