网站有一万个会员,在后台给会员发小短信,如果没有看信息的提示有“新信息”,如果看了的,就不提示。目前我的想法是这样:如果我在后台发了一条信息,就在表中写入一万条信息,分别表示每个会员有没有查看该信息。请问有没有更好的机制处理这个问题?
因为我发一条信息就要给写入一万条信息,如果我有一百万个会员就要写入一百万条信息了;如果我发100条信息,就要往数据库写入100×一百万条信息,感觉这种方法很不合理。
因为我发一条信息就要给写入一万条信息,如果我有一百万个会员就要写入一百万条信息了;如果我发100条信息,就要往数据库写入100×一百万条信息,感觉这种方法很不合理。
解决方案 »
- asp.net读取远程XML数据返回responseXML
- 一个网站编码UTF8,一个网站编码GB2312,参数该怎么传递?
- AJAX for .net 那个控件是 等待状态 有个圆圈在那转直到有结果位置
- SQL server 中SQL语句的自动增长列问题
- 请问怎么把数组绑定到DataGird模版列的ImageUrl!
- 那个“关于DataGrid高级编程,横向显示多行数据的问题。”怎么打不开
- 关于 ReportViewer控件打开出现乱码的问题!!!!
- 多条sql语句,可否同时给datagrid提供数据集?
- asp.net生成的EXCEL文件保存在客戶端的指定目錄
- datagrid和ado.net和odbc
- 请教如何学习动态网站的一些技巧及推荐一些书籍?
- asp.net + ajax 数据实时更新
用户第一次阅读短信息后向checkinfo表添加一笔记录,开始的时候判断某用户checkinfo有没记录,如没有就没读。
就这样,很简单的
用户第一次阅读短信息后向checkinfo表添加一笔记录,开始的时候判断某用户checkinfo有没记录,如没有就没读。
就这样,很简单的这种思路可以,不过得考虑过一段时间要删除记录,否则数据量过大
因为我发一条信息就要给写入一万条信息,如果我有一百万个会员就要写入一百万条信息了;如果我发100条信息,就要往数据库写入100×一百万条信息,感觉这种方法很不合理。
我觉100万条记录是必须的,可以优化的地方有两处:
1) 为提高速度,在用户表建立冗余字段"短消息数量",当系统向会员发送时和会员查看时,修改该字段值,会员登录时可以看到“您有N条短消息”字样,再点击之后才能查看具体有哪些短消息
2) 建立[已处理短消息表],把会员已经查看过的短消息移动到该表。
3) 如果你觉得100万冗余太厉害,那就在[待处理消息表]的基础上,再建立消息内容表(sendUserID,msgID,msgText),把[待处理消息表]优化一下,字段: receiveUserID, msgID, sendTime