Uložení vašich hodnot pro fórum pro uživatele, kteří toto téma ještě nečetli (což je špatný nápad), nebude škálovatelné. Udělejte to naopak pokud opravdu musíte, protože budete mít také problémy spojené s tím, že budete muset přidávat záznamy do každého tématu ve vaší databázi při registraci nového uživatele.
Místo toho, abyste se vzdali relační tabulky, zkuste to udělat následovně:
Table: topics
+----+-------+------+-----
| id | title | body | ...
+----+-------+------+-----
| 1 | xyz | .... | ...
Table: replies
+----+-------+------+-----
| id | title | body | ...
+----+-------+------+-----
| 3 | xyz | .... | ...
Table: read_topics
+---------+----------+
| user_id | topic_id |
+---------+----------+
| 2 | 1 |
Váš přístup, i když je to možné (a snáze si to představit), se začne hroutit, když máte obrovské množství uživatelů, a škálovatelnost je to, o čem jste se zmiňovali v komentářích. Dalším problémem je, že s vaším přístupem máte masivní penalizace za výkon, protože musíte vytáhnout data z databáze, rozdělit je a poté manipulovat a znovu zkombinovat, než provedete další transakci. Máte také problémy s zápisem do tabulky dvěma vlákny CGI současně . Bavte se s tím...
Používáte nástroj pro manipulaci s daty, třídění, vztahy s daty a ukládání, takže jej používejte pro všechny z nich, nejen jako skládku informací.