MySQL-Tabelle mit mehr als 40 Spalten

Ich habe mehr als 40 Spalten in meiner Tabelle und ich muss noch ein paar Felder hinzufügen, wie die aktuelle Stadt, die Heimatstadt, die Schule, die Arbeit, die Uni, die Collage.

Diese Benutzerdaten werden für viele übereinstimmende Benutzer abgerufen, die gemeinsame Freunde sind (indem sie den Freundeskreis mit anderen Benutzerfreunden verbinden, um gemeinsame Freunde zu sehen) und die nicht blockiert sind und die mit dem Benutzer noch nicht befreundet sind.

Die obige Anfrage ist wenig komplex, so dass ich dachte, es wäre eine gute Idee, zusätzliche Daten in der gleichen Benutzertabelle für den schnellen Zugriff zu platzieren, anstatt der Tabelle weitere Verknüpfungen hinzuzufügen. Dadurch wird die Abfrage langsamer. aber ich wollte deinen vorschlag dazu bekommen

Mein Freund sagte mir, ich solle die zusätzlichen Felder hinzufügen, die nicht als serialisierte Daten in einem Feld durchsucht werden.



ERD-Diagramm:

Mein aktueller Tisch:http://i.stack.imgur.com/KMwxb.pngWenn ich mich zu weiteren Tischen zusammenschließe:http://i.stack.imgur.com/xhAxE.png



Einige Vorschläge

nichts falsch mit dieser Tabelle und Spaltenfolge diesem AnsatzMySQL: Tabelle mit vielen Spalten optimieren - die zusätzliche Felder in ein Feld serialisieren, die nicht durchsuchbar sindErstellen Sie eine weitere Tabelle und stellen Sie die meisten Daten dort ab. (Dies wird schwieriger bei Joins, wenn ich bereits 3 oder mehr Tabellen zum Abrufen der Datensätze für Benutzer habe (z. B. Freunde, Benutzer, gemeinsame Freunde überprüfen).

Antworten auf die Frage(4)

Ihre Antwort auf die Frage