Christopher Reimann: Denkattacke

Beitrag lesen

Derzeit programmiere ich ein Forum und habe die bekannten Relationen erfolgreich implementiert (Kategorie->Forum->Thread->Post) und will nun für den User die Bequemlichkeit anbieten, von ihm ungelesene Threads/Posts in der Foren- und Threadübersicht hervorzuheben.

Dazu gibt es eine Tabelle mit allen IDs der zugehörigen DB-Spalten. Hier wird jeweils abgelegt, was in einem Thread das Neuste ist. Jene Zeilen erhalten ebenfalls eine ID.

Mein Dilemma ist es nun, die betrefflichen IDs (durch logout-timestamps etc.) in die zugehörigen User-zeilen reinzubekommen, ohne damit die Datenbank völlig auszulasten.

Eine Überlegung war es, der Usertabelle eine Spalte "ungelesene_beitraege" hinzuzufügen, die alle IDs im Zeitraum der Abwesenheit eingetragen bekommt und stück für stück wieder ausgetragen bekommt, wenn ein User einen Thread öffnet. -> Hätte aber erheblichen Aufwand zur Folge; allein schon weil jeder neuer Post immer das betreffende Feld in der DB für jeden User aktualisieren müsste und das wird sich zu sehr summieren.

Vielleicht ist eine ganz andere Idee viel hilfreicher. Mir fällt nur keine gute Planung ein. Hilfe brauche ich dringend! (Die Zeit läuft mir davon...)

Vielen Dank,
Christopher