Внутренняя почта, пользователи, новости...
Есть таблица пользователей, есть таблица с новостями (сообщениями). Как правильно поступать:
Есьт одно сообщение записанное в таблицу базы новости, и показано всем.
Как записать статус что сообщение прочитано? Нужно создавать 10 000 однотипных сообщений для каждого пользователя в таблицу сообщений? (если стоит задача рассылка новости как сообщения с отслеживанием статуса прочтения).
Если вам нужно знать это по каждому пользователю, то вам в самом деле нужно будет помечать в БД по каждому пользователю факт прочтения сообщения.
Пусть у вас есть таблица с тремя INT для строки, новости, пользователя и временная метка. Это примерно 16 байт на строку без учёта индексов. Или примерно 300 килобайт на 10000 пользователей включая индексы.
Сколько таких записей поместится в один гигабайт - посчитайте сами.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей