Я делаю систему уведомлений по следующему сценарию.
Пользователь из company A
хочет отправить сообщение всем пользователям (4000+) из company B
.Каждый из company B
получает сообщение в своем почтовом ящике.
У меня проблемы с разработкой эффективного дизайна базы данных, который позволит мне пометить сообщение как "увиденное", когда пользователь из company B
щелкнет сообщение так, чтобыв следующий раз он помечается другим цветом в папке входящих сообщений, в то время как другие, кто его еще не видел, получат непрочитанный цвет.
Мой наивный подход теперь заключается в том, что у меня есть таблица, в которой у меня есть messageId
, userId
иСтолбец isSeen(bool)
в SQL Server
, где я обновляю столбец isSeen
до true
, когда пользователь щелкает сообщение с идентификатором.
Проблема: я не хочу вставлять строки 4k в таблицу только для сообщения, потому что это было бы очень неэффективно и снизило бы производительность базы данных.
Что можетЯ делаю в своей базе данных дизайн, который позволит мне достичь желаемого результата и в то же время не снизит производительность моей базы данных?Являются ли SQL databases
подходящими инструментами для такого рода задач?