2016-05-22 22 views
0

Ich habe einen dub: ist es besser, wenn ich mehrere Felder auf einer Datenbanktabelle und nur eine Verbindung haben, wenn ich ein Skript oder weniger Felder und mehr Verbindungen laufen?mehr Verbindungen oder mehr Datenbankfelder?

id | user_id | name | comment | reply_to 
________________________________________ 
1 | 342442 | wow | nice | NULL 
2 | 235442 | asda | thanks | 1 

wenn ich Ausgang zweiten Kommentar, ich auch der Name des reply_to genannten Kommentar wählen haben, so tun eine andere Abfrage

:

Ich habe einen Kommentar System Skript, hier ist seine Tabellenstruktur geschrieben

hier die andere Option ist:

id | user_id | name | comment | reply_to | reply_to_userid | reply_to_name | 
____________________________________________________________________________ 
1 | 342442 | wow | nice | NULL | NULL   | NULL 
2 | 235442 | asda | thanks | 1  | 342442   | wow 

ich weiß nicht, was mir die beste Leistung gibt, können Sie mir helfen? Dank im Voraus

Antwort

1

Besser, mehr Tabellen zu erstellen und Namen in zwei Tabellen nicht wiederholen, beziehen Sie sich auf die Benutzer-Tabelle nach ID des Benutzers und erhalten Sie den Namen daraus. Informieren Sie sich über Regeln zur Datenbanknormalisierung und sie werden Sie zur effizientesten Strukturierung Ihrer Datenbank führen.

+0

Also mehr Verbindung und weniger Felder? Vielen Dank! das war sehr nützlich. Ich denke, dass die effizienteste Tabellenstruktur die erste ist, die ich gepostet habe, weil es nur eine Reifung gibt, verglichen mit der zweiten Methode. –

+0

Ja, verwende keine Wiederholungen. Ich habe eine komplexe Webanwendung mit mehr als 50 Tabellen erstellt (aber das waren Benutzerprofile mit vielen Metriken und Daten, der erste Prototyp hatte alle Daten in nur 4 Tabellen) und die Leistung stieg fast 100 Mal. –

Verwandte Themen