Ja w sumie bym zrobił tak jak poprzednik proponuje:
Jeśli użytkownik, wszedł w forum - dodaje jego id do jakies tabelki o wygladzie uid | topic_id
w tym momencie w spisie tematów, sprawdzam czy istniaje wpis w bazie , jesli nie - znaczy nie czytal , jesli tak - znaczy przeczytal.
W czasie dodawania postu bym kasowal najpierw wszystkie rekordy w tej tabeli gdzie topic_id jest identyczny z tematem, i po sprawie .
Natomiast nie wiem czy to jest optymalne rozwiazanie, gdyż nigdy nie pisalem w sumie forum z prawdziwego zdarzania