beste Methode um gelesene Beiträge in einem Forum zu markieren

alaninalanin

Mitglied
Hallo,

ich bin immernoch dabei ein Forum zu schreiben und stehe nun vor der Funktion der gelesenen Beiträge.

Ich habe entschieden, dass ich das bis auf den einzelnen Post herunterbrechen möchte. Also reicht nicht nur der Zeitstempel des letzten Besuchs aus. Zudem soll es eine Funktion geben die es ermöglicht ein bestimmtes Forum als gelesen zu markieren bzw. alle Foren als gelesen zu markieren.

Nun meine Überlegungen:

1. Ich habe für jeden ungelesenen Beitrag einen Eintrag in der Datenbank. Informationen die ich speichere sind die ForumID, ThreadID, PostID, UserID und Zeitstempel. Den Zeitstempel dachte ich mir verwenden zu wollen, da ich alle Thread, in denen 'n' Tage lang nichts passiert ist generell als gelesen markieren möchte um die Datenbank zu entlasten.
Somit wird immer wenn ein neuer Beitrag geschrieben wird für jeden Benutzer ein Eintrag in dieser Tabelle gespeichert - vorher vielleicht die alten löschen, die den gleichen Thread behandeln.

2. Ich habe für jeden gelesenen Beitrag einen Eintrag in der Datenbank. Die gespeicherten Informationen sind wieder die gleichen wir oben. Auch die Funktion des Zeitstempels bleibt gleich. Bei einem neuen Beitrag werden dann alle Einträge aus der Tabelle gelöscht, die mit diesem Thread zu tun haben und somit als "ungelesen" markiert.

Den Unterschied sehe ich in der Benutzung der "alles als gelesen markieren" Funktion. Bei Überlegung 1 ist anfangs die Tabelle zwar größer, wird aber durch die Benutzung der Funktion kleiner.
Wobei Überlegung 2 die Tabelle anfangs klein hat und nur durch Benutzung der "gelesen" Funktion einträge in diese Tabelle kommen.

Generell würde ich sagen, dass es sehr stark auf die Benutzer des Forums ankommt, sind diese nur angemeldet und nutzen das Forum eher selten bzw. nur wenige aktive Mitglieder, dann ist Variante 2 wohl besser. Wird das Forum und die "alles gelesen" Funktion stark benutzt wäre wohl die 1. Variante besser.

Was meint ihr, welcher Weg wäre der bessere für die Datenbank. Oder gibt es vielleicht noch einen anderen?

Schönen Dank für eure Beiträge.
Grüße Jörg
 
Ich würde die Variante 1 bevorzugen, ich glaube das diese deutlich weniger Last erzeugt, außer das Forum wird sehr selten aufgesucht, aber dann macht es auch nicht mehr viel sinn, die Serverlast zu reduzieren, da sie aufgrund des seltenes Besuches, schon sehr gering ist.

Mich würde mehr Interessieren warum du ForumID und ThreadID mit speichern willst.
Ist die PostID etwa nur eindeutig im Zusammenhang mit der ForumID und der ThreadID?
Sonst würde ich ForumID und ThreadID auch weglassen.

mfg
Gene
 
Zurück