filament
Erfahrenes Mitglied
Hallo liebe Community,
ich habe vor einen kostenlosen Webservice zu programmieren, bei dem ein registrierter Benutzer Datensätze selbst eingeben kann. Aufgrund des Themas das ich vor Veröffentlichung nicht nennen möchte, kann es sein, dass ein User am Tag durchaus mal bis zu 20 / 30 Einträge produziert. Auf ein Jahr gerechnet kann es also pro User schon mal einige Tausend Datensätze geben. Kann das aus Performancesicht Schwierigkeiten ergeben?
Die Datenbank besteht aus 2 Tabellen:
users (id, name, passwort, email, premium)
datensatz (id, userid, ausgabe, zeit)
Über die UserID stehen die Tabellen in Zusammenhang. Größtenteils bestehen die Daten aus reinen Zahlen, es soll jedoch auch für Premium User ein Bemerkungen Feld hinzu kommenn.
Nun die Frage wie frage ich die Datensätze zeitlich in monaten Zusammengefasst ab? Dazu muss die SUM Funktion zum Summieren der Daten genutzt werden, da die Spalten addiert ausgegeben werden bis dato?
Sollte ich die Abfragen vielleicht auf ein Jahr beschränken und ältere Daten einfach via Cronjob löschen? Oder ist das kein Unterschied (Von der Performance) ob ich nun 1 Jahr abfrage oder gar 5 Jahre? (Zur Erinnnerung: Es gibt eine Datenbankabfrage, die wirklich ALLE Daten des Users summieren soll!)
Kann ich irgendwie den Code verbessern um die Leistung steigern zu können?
Zur Eingabe der Datensätze hätte ich auch noch eine Frage. Die User sollen das Datum mit angeben können. Ist es hier sinnvoller ein Textfeld anzugeben oder Drop-Downs mit Vorgaben? Wenn Textfeld, wie gehe ich sicher, dass dort auch wirklich nur Zeitformate eingegeben werden und wie wandel ich diese so um, dass ich ein timestamp herausbekomme, den ich ja integer in "zeit" erfasse. (Mktime als Funktion ist mir bekannt und auch die Umwandlung dieser wieder mit date("d.m.Y") etc..)
Danke euch schon mal im Voraus.
P.S: Wurden hier Userdaten älterer User gelöscht? Ich hatte mal einen Account vor Jahren, der aber irgendwie verschwunden ist
ich habe vor einen kostenlosen Webservice zu programmieren, bei dem ein registrierter Benutzer Datensätze selbst eingeben kann. Aufgrund des Themas das ich vor Veröffentlichung nicht nennen möchte, kann es sein, dass ein User am Tag durchaus mal bis zu 20 / 30 Einträge produziert. Auf ein Jahr gerechnet kann es also pro User schon mal einige Tausend Datensätze geben. Kann das aus Performancesicht Schwierigkeiten ergeben?
Die Datenbank besteht aus 2 Tabellen:
users (id, name, passwort, email, premium)
datensatz (id, userid, ausgabe, zeit)
Über die UserID stehen die Tabellen in Zusammenhang. Größtenteils bestehen die Daten aus reinen Zahlen, es soll jedoch auch für Premium User ein Bemerkungen Feld hinzu kommenn.
Nun die Frage wie frage ich die Datensätze zeitlich in monaten Zusammengefasst ab? Dazu muss die SUM Funktion zum Summieren der Daten genutzt werden, da die Spalten addiert ausgegeben werden bis dato?
Sollte ich die Abfragen vielleicht auf ein Jahr beschränken und ältere Daten einfach via Cronjob löschen? Oder ist das kein Unterschied (Von der Performance) ob ich nun 1 Jahr abfrage oder gar 5 Jahre? (Zur Erinnnerung: Es gibt eine Datenbankabfrage, die wirklich ALLE Daten des Users summieren soll!)
Kann ich irgendwie den Code verbessern um die Leistung steigern zu können?
Zur Eingabe der Datensätze hätte ich auch noch eine Frage. Die User sollen das Datum mit angeben können. Ist es hier sinnvoller ein Textfeld anzugeben oder Drop-Downs mit Vorgaben? Wenn Textfeld, wie gehe ich sicher, dass dort auch wirklich nur Zeitformate eingegeben werden und wie wandel ich diese so um, dass ich ein timestamp herausbekomme, den ich ja integer in "zeit" erfasse. (Mktime als Funktion ist mir bekannt und auch die Umwandlung dieser wieder mit date("d.m.Y") etc..)
Danke euch schon mal im Voraus.
P.S: Wurden hier Userdaten älterer User gelöscht? Ich hatte mal einen Account vor Jahren, der aber irgendwie verschwunden ist