2016-04-16 5 views
0

Was ist Ihrer Meinung nach der beste Ansatz für eine PHP- und SQL-basierte Web-Anwendung, die von einer Reihe von Menschen verwendet werden?PHP & mySQL - Mehrere Benutzer Application Approach

Zum Beispiel sagen wir haben eine Tabelle namens "Umsatz" und ein Benutzer möchte seine Umsatz zugreifen. Die Tabelle sollte einen Fremdschlüssel der Benutzer-ID enthalten oder es wird besser sein, eine separate Tabelle für jeden Benutzer zu erstellen?

Alle anderen Implementierungen und Meinungen sind ebenfalls willkommen!

Antwort

1

Meiner Meinung nach beste Ansatz wäre zwei Tabellen zu verwenden und verweisen von einem Fremdschlüssel. Stellen Sie sicher, dass Sie auch Indizes verwenden. MySQL hat verschiedene Optimierungen der WHERE-Klausel auf einem PRIMARY KEY oder einem UNIQUE-Index [1] durchgeführt. Sie werden also bei der Arbeit mit einer beträchtlichen Anzahl von Datensätzen gut zurechtkommen (z. B .: Handhabung von 100000 Datensätzen ist kein Problem, wenn Sie über geeignete Hardware für Datenbankinstanzen und optimierte Datenbankkonfigurationen verfügen).

Stellen Sie sicher, dass Datenbankoptimierungen basierend auf Ihrem System durchgeführt werden, um die Leistung zu erhöhen. Bessere Inhouse-Tests stellen sicher, dass das System langfristig Ihren Erwartungen entspricht.

[1] http://dev.mysql.com/doc/refman/5.7/en/where-optimizations.html

0

Nach Umsatz Ich meine, Sie meinen, die Benutzer Rechnungen oder Rechnungshistorie. Sie möchten sie mithilfe von Fremdschlüsseln in zwei Tabellen aufteilen. Sie könnten eine Benutzertabelle und eine Rechnungstabelle mit der Benutzer-ID als Fremdschlüssel in Ihrer Rechnertabelle haben.

Wenn der Benutzer seine Rechnungen anzeigen wollte, würden Sie Zeilen aus der Rechnungstabelle auswählen, in denen die Benutzer-ID die Benutzer-ID ist.

+0

Die Tabelle selbst keine Rolle spielt, ist die Frage nur theoretisch. Ich dachte zuerst über diesen Ansatz nach, aber was wäre, wenn die Tabelle 100000 Datensätze hätte? Die Ladezeit für jeden Benutzer wird ziemlich groß sein ... – sarotnem