Ich habe ein Punktesystem mit folgenden Datenbank-Tabellen:
produktvergleich
[id]
[produkt1]
[produkt2]
[produkt3]
[datum]
produktvergleich_views
[id]
[produkt1]
[produkt2]
[produkt3]
[views]
In Tabelle `produktvergleich` werden die einzelnen Vergleiche mit Datum gespeichert.
In Tabelle `produktvergleich_views` werden die `views` jeweils um 1 erhöht, wenn ein bereits gespeicherter Produktvergleich erneut aufgerufen wird. Wurde der Vergleich noch nicht aufgerufen, so wird ein neuer Eintrag erstellt.
Nun müssen alle paar Tage die Views gelöscht werden. Dazu habe ich aus Tabelle `produktvergleich` alle Vergleiche anzeigen lassen, welche älter als 5 Tage sind. Diese Datensätze werden dann mittels einer while-Schleife gelöscht und damit die "views" auch wieder passen, werden diese entsprechend um einen Punkt nach unten korrigiert.
Nun ist meine Frage: Ist dieses System sinnvoll, oder kann man das Ganze einfacher/besser lösen?
PS: Anstelle in der Tabelle `produktvergleich_views`nochmals alle drei Produkte zu speichern, sollte ich wohl besser eine `produktvergleich_id` einsetzen. Gibt es davon abgesehen weitere Verbesserungsvorschläge?
produktvergleich
[id]
[produkt1]
[produkt2]
[produkt3]
[datum]
produktvergleich_views
[id]
[produkt1]
[produkt2]
[produkt3]
[views]
In Tabelle `produktvergleich` werden die einzelnen Vergleiche mit Datum gespeichert.
In Tabelle `produktvergleich_views` werden die `views` jeweils um 1 erhöht, wenn ein bereits gespeicherter Produktvergleich erneut aufgerufen wird. Wurde der Vergleich noch nicht aufgerufen, so wird ein neuer Eintrag erstellt.
Nun müssen alle paar Tage die Views gelöscht werden. Dazu habe ich aus Tabelle `produktvergleich` alle Vergleiche anzeigen lassen, welche älter als 5 Tage sind. Diese Datensätze werden dann mittels einer while-Schleife gelöscht und damit die "views" auch wieder passen, werden diese entsprechend um einen Punkt nach unten korrigiert.
Nun ist meine Frage: Ist dieses System sinnvoll, oder kann man das Ganze einfacher/besser lösen?
PS: Anstelle in der Tabelle `produktvergleich_views`nochmals alle drei Produkte zu speichern, sollte ich wohl besser eine `produktvergleich_id` einsetzen. Gibt es davon abgesehen weitere Verbesserungsvorschläge?
Kommentar