Пометка сообщения как видимого - PullRequest
0 голосов
/ 03 декабря 2018

Я делаю систему уведомлений по следующему сценарию.

Пользователь из company A хочет отправить сообщение всем пользователям (4000+) из company B.Каждый из company B получает сообщение в своем почтовом ящике.

У меня проблемы с разработкой эффективного дизайна базы данных, который позволит мне пометить сообщение как "увиденное", когда пользователь из company B щелкнет сообщение так, чтобыв следующий раз он помечается другим цветом в папке входящих сообщений, в то время как другие, кто его еще не видел, получат непрочитанный цвет.

Мой наивный подход теперь заключается в том, что у меня есть таблица, в которой у меня есть messageId, userId иСтолбец isSeen(bool) в SQL Server, где я обновляю столбец isSeen до true, когда пользователь щелкает сообщение с идентификатором.

Проблема: я не хочу вставлять строки 4k в таблицу только для сообщения, потому что это было бы очень неэффективно и снизило бы производительность базы данных.

Что можетЯ делаю в своей базе данных дизайн, который позволит мне достичь желаемого результата и в то же время не снизит производительность моей базы данных?Являются ли SQL databases подходящими инструментами для такого рода задач?

1 Ответ

0 голосов
/ 03 декабря 2018

То, как вы описываете, на самом деле является лучшим способом сделать то, что вы хотите.

Если ваша таблица проиндексирована правильно, производительность вообще не будет плохой.

...