位置: 编程技术 - 正文

分享网站群发站内信数据库表设计(群发网址)

编辑:rootadmin
“站内信”不同于电子邮件,电子邮件通过专门的邮件服务器发送、保存。而“站内信”是系统内的消息,说白了,“站内信”的实现,就是通过数据库插入记录来实现的。

  “站内信”有两个基本功能。一:点到点的消息传送。用户给用户发送站内信;管理员给用户发送站内信。二:点到面的消息传送。管理员给用户(指定满足某一条件的用户群)群发消息。点到点的消息传送很容易实现,本文不再详述。下面将根据不同的情况,来说说“站内信”的群发是如何实现的。

  第一种情况,站内的用户是少量级别的。(几十到上百)

  这种情况,由于用户的数量非常少,因此,没有必要过多的考虑数据库的优化,采用简单的表格,对系统的设计也来的简单,后期也比较容易维护,是典型的用空间换时间的做法。

  数据库的设计如下:表名:Message

  ID:编号;SendID:发送者编号;RecID:接受者编号(如为0,则接受者为所有人);Message:站内信内容;Statue:站内信的查看状态;PDate:站内信发送时间;

  如果,某一个管理员要给所有人发站内信,则先遍历用户表,再按照用户表中的所有用户依次将站内信插入到Message表中。这样,如果有个用户,则群发一条站内信要执行个插入操作。这个理解上比较简单,比较耗损空间。

  某一个用户登陆后,查看站内信的语句则为:

  Select * FROM Message Where RecID=‘ID' OR RecID=0

  第二种情况,站内的用户中量级别的(上千到上万)。

  如果还是按照第一种情况的思路。那发一条站内信的后果基本上就是后台崩溃了。因为,发一条站内信,得重复上千个插入记录,这还不是最主要的,关键是上千乃至上万条记录,Message字段的内容是一样的,而Message有大量的占用存储空间。比方说,Message字段有个汉字,占用个字节,那么5万条,就占用×=个字节=M。简单的一份站内信,就占用M,这还让不让人活了。

  因此,将原先的表格拆分为两个表,将Message的主体放在一个表内,节省空间的占用

  数据库的设计如下:

  表名:Message

  ID:编号;SendID:发送者编号;RecID:接受者编号(如为0,则接受者为所有人);MessageID:站内信编号;Statue:站内信的查看状态;

  表名:MessageText 

  ID:编号;Message:站内信的内容;PDate:站内信发送时间;

  在管理员发一封站内信的时候,执行两步操作。先在MessageText表中,插入站内信的内容。然后在Message表中给所有的用户插入一条记录,标识有一封站内信。

  这样的设计,将重复的站内信的主体信息(站内信的内容,发送时间)放在一个表内,大量的节省存储空间。不过,在查询的时候,要比第一种情况来的复杂。

  第三种情况,站内的用户是大量级的(上百万),并且活跃的用户只占其中的一部分。

  大家都有这样的经历,某日看一个网站比较好,一时心情澎湃,就注册了一个用户。过了一段时间,由于种种原因,就忘记了注册时的用户名和密码,也就不再登陆了。那么这个用户就称为不活跃的。从实际来看,不活跃的用户占着不小的比例。

  我们以注册用户2百万,其中活跃用户只占其中的%。

  就算是按照第二种的情况,发一封“站内信”,那得执行2百万个插入操作。但是其中的有效操作只有%,因为另外的%的用户可能永远都不会再登陆了。

  在这种情况下,我们还得把思路换换。

  数据库的设计和第二种情况一样:

  表名:Message

  ID:编号;SendID:发送者编号;RecID:接受者编号(如为0,则接受者为所有人);MessageID:站内信编号;Statue:站内信的查看状态;

  表名:MessageText 

  ID:编号;Message:站内信的内容;PDate:站内信发送时间;

  管理员发站内信的时候,只在MessageText插入站内信的主体内容。Message里不插入记录。

  那么,用户在登录以后,首先查询MessageText中的那些没有在Message中有记录的记录,表示是未读的站内信。在查阅站内信的内容时,再将相关的记录插入到Message中。

  这个方法和第二种的比较起来。如果,活跃用户是%。两者效率是一样的。而活跃用户的比例越低,越能体现第三种的优越来。只插入有效的记录,那些不活跃的,就不再占用空间了。

  以上,是我对群发“站内信”的实现的想法。

作者:万仓一黍出处:

推荐整理分享分享网站群发站内信数据库表设计(群发网址),希望有所帮助,仅作参考,欢迎阅读内容。

分享网站群发站内信数据库表设计(群发网址)

文章相关热门搜索词:分享群发是什么意思,群发站内信,站群发布,8222群发网址,群发网址链接需要注意什么,群组分享网站,网站群发软件,群发网址,内容如对您有帮助,希望把文章链接给更多的朋友!

SQL数据库的高级sql注入的一些知识 [概要]这篇文章讨论常用的"sql注入"技术的细节,应用于流行的MsIIS/ASP/SQL-Server平台。这里探讨有关这种攻击各种可以注入程序访问数据和数据库防范的

SQL批量插入数据几种方案的性能详细对比 公司技术背景:数据库访问类(xxx.DataBase.Dll)调用存储过程实现数据库的访问。技术方案一:压缩时间下程序员写出的第一个版本,仅仅为了完成任务

mysql 数据库中索引原理分析说明 下面,我们举例来说明一下聚集索引和非聚集索引的区别:其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查安字,就会很自然地

标签: 群发网址

本文链接地址:https://www.jiuchutong.com/biancheng/349804.html 转载请保留说明!

上一篇:SQL高级应用之使用SQL查询Excel表格数据的方法(sql高级写法)

下一篇:SQL数据库的高级sql注入的一些知识(sql语句的高级用法)

  • 退个税手续费如何申报
  • 从租计征房产税怎么申报
  • 什么是工程销项表
  • 在外地施工的企业应该在哪里申报
  • 个税申报信息怎么恢复
  • 领发票凭证做什么用
  • 小规模免税的税额怎么处理
  • 应税销售行为的购买方为消费者个人的可以开专票吗
  • 税收减免备案分录怎么写
  • 税控服务费能抵扣吗
  • 应收款抹零计入什么会计科目
  • 未开票确认收入分录怎么做
  • 年终对应交税费的减免税款怎样处理?
  • 增值税电子发票怎么开具流程
  • 工资薪金支出税收金额怎么算
  • 别墅送停车位吗
  • 企业销售产品的会计分录
  • 事业单位存货包括
  • 企业原材料盘盈的原因分析
  • 商业汇票的目的
  • 差额征收增值税如何申报
  • 投资长期溢价债券,容易获取投资收益
  • 建筑业总产值和营业收入相等吗?
  • 财产损失立案
  • 会计交接的时候是不是有报税单
  • linux操作系统为用户提供的接口为
  • Kamikōchi, Nagano Prefecture, Japan (© sadao/Shutterstock)
  • php获取访问用户的ip
  • pytorch model.module
  • 预计负债和预收账款
  • 核电站弃置费用怎么算
  • php用echo输出图片
  • php面试知识点
  • 打开的ps关不掉
  • mongodb查看数据库大小
  • 织梦cms为什么不维护了
  • 什么发票可以抵扣增值税吗
  • 应发工资包括岗位工资吗
  • 一个简单的脚本
  • 公司有残疾人如何申报残保金
  • 什么是认缴出资金额
  • 企业营业外收入要交所得税吗
  • 子公司没有收入,只有费用如何企业所得税汇算清缴
  • 某首饰商城为增值税一般纳税人,2021年1月发生以下业务
  • 企业股权融资方式有哪些
  • 工程预付款发票开什么明细项目
  • 银行承兑汇票贴现利息怎么算
  • 金税盘技术维护费
  • 股份有限公司股东人数
  • 教育费附加免征额
  • 销售商品返现怎么做
  • 有形资产的例子
  • 产品成本核算要求有哪几项
  • mysql命令执行顺序
  • sql server复制功能
  • win8的应用商店在哪
  • win10预览版21277下载
  • win10怎么关闭windowsdefender
  • ubuntu如何创建文件
  • win8摄像头权限怎么设置
  • win10mobile现在能干吗
  • 如何隐藏应用软件
  • make:arm-linux- conmand not found错误处理探讨
  • Win10如何设置电脑密码
  • 升级win10后无法修改magicbook开机画面
  • win7不识别大于4T的盘
  • cocos2dx-js
  • javaweb物流管理系统源码
  • jquery easyui 教程
  • echarts.on
  • Windows上安装Python
  • 单例类python
  • python怎么画子图
  • 江苏电子税务局操作手册
  • 河北电子税务局开票流程
  • 国税发票打印汇总怎么弄
  • 河北电子税务局网上登录
  • shell ftp -n
  • 税控专用设备包括哪些
  • 西安未央区的面积
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设