There exists a fundamental texting system, using the following database design

  • MESSAGE
  • MESSAGE_COMMENT
  • MESSAGE_READ
  • USER
  • MESSAGE_TYPE

Once the system transmits a board cast message to at least one million customers around the system, the content is produced together with a million records within the MESSAGE_READ can also be produced for every user finding the message which is flagged as unread (ie ReadDate=null).

When 100 1000's user reads the board casted message, individuals 100 1000 customers messages are flagged to be read (ReadDate=currentdate)

Once the system transmits out an up-to-date board cast message, a million records within the MESSAGE_READ record is up-to-date and flagged to be unread. (same factor occurs when someone replies towards the message, everybody elses MESSAGE_Read is up-to-date as unread, before the see clearly)

How can you get this to system more effective? Can there be anyway to prevent creating/upgrading records to flag them as read/unread records constantly????? (I would not think so??)

Here is a suggestion which come in my opinion :

What about creating Message_Read instances quickly . I am talking about whenever you publish a note don't create any Message_Read for the customers. whenever a user logs within the system inspections to ascertain if he's a note that is not read (no message read is available for this) and alert the consumer to see them. Whenever a user reads a note a note_Read record is produced for him stopping the machine from showing exactly the same alert again. Whenever the status of the message is transformed and you need to alert the modification you may either remove its Message_Read instances or move these to accurate documentation table to keep a brief history if required , thus there is no Message_Read for your message and user is going to be informed to see it again.