站内信三种实现方式

站内信?

答:就是系统发给整个用户推送的消息。

第一种:(用户量几百人)
  1. 建立一张表message表
  2. 然后向这张表遍历所有用户插入每个人一条信息
    表如下:
    message表:
 id:编号;send_id:发送者编号;rec_id:接受者编号;message:站内信内容;status:站内信的查看状态;send_date:站内信发送时间;
第二种:(用户量上万人以上)
  1. 建立一张表message表
  2. 建立一张表message_txt表
  3. 然后向这张表遍历所有用户插入每个人一条信息,不同是只是插入了message_txt的主键id,减少了很多空间。

表如下:

message表:
 id:编号;send_id:发送者编号;rec_id:接受者编号;message_id:站内信编号;status:站内信的查看状态;send_date:站内信发送时间;
message_text表:
id:编号;message:站内信的内容;send_date:站内信发送时间;
第三种:(用户量几十万或者上百)跟第二种很像的,只是插入时间不同。
  1. 建立一张表message表
  2. 建立一张表message_txt表
  3. 这步就是只是用户登录的时候才去获取是否有站内信再插入message表,这样那些很久都没登陆的用户就没必要插入了。

表如下:

message表:
 id:编号;send_id:发送者编号;rec_id:接受者编号;message_id:站内信编号;status:站内信的查看状态;send_date:站内信发送时间;
message_text表:
id:编号;message:站内信的内容;send_date:站内信发送时间;

你可能感兴趣的:(mysql)