位置: 编程技术 - 正文

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

编辑: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语句的高级用法)

  • 减免所得税如何申报
  • 金税三期收入额是多少
  • 填专项扣除对个人还是公司受益
  • 发票开票地址是注册地址还是经营地址
  • 企业出售不动产的涉税问题
  • 支付宝公户可以转私户吗
  • 营改增后房地产企业增值税税收筹划存在问题
  • 金融服务征税范围包括哪些
  • 固定资产的确认条件是什么
  • 季度企业所得税计算方法举例
  • 小规模纳税人进货需要发票吗
  • 一般纳税人可以开普票吗
  • 物业服务费属于什么合同印花税
  • 农民专业合作社普通发票抵扣
  • 免税个体户发票税率多少
  • 外地预缴个人所得税如何入账及申报
  • 专用发票发票联丢失怎么办
  • 亏损合同如何处理
  • 建筑业可以开电费发票吗
  • 实收资本和注册资本必须一致吗
  • 小规模没有发票可以入账吗
  • 一般纳税人存货入账价值
  • 一般公司的hr会查案底吗
  • 车辆购置税可以代缴吗
  • php导出数据到excel
  • 企业网银证书费用收费标准
  • win11怎么清理电脑垃圾
  • php目录结构
  • 会计分录的方法与步骤
  • 更改公司章程发函怎么写
  • PHP:mcrypt_module_get_supported_key_sizes()的用法_Mcrypt函数
  • 法定假日的加班费怎么算
  • php 获取当前url
  • 其他经营收益怎么算
  • 会计利润表计算公式
  • phpcms怎么样
  • 农产品免税发票可以抵扣增值税吗
  • 其他权益工具投资
  • 中小型科技企业所面临的普遍问题是资金缺乏
  • 股东分红放到哪个会计科目
  • 怎样在网上领取
  • 在建工程的前期工程
  • 公司购买led屏幕做到什么费用
  • 个人所得税专项附加扣除2023
  • 民办非企业免税政策
  • 作废的发票会统计到税额里吗
  • 提取法定盈余公积会影响留存收益吗
  • 购买性支出和转移性支出的区别
  • 单位集体旅游算工资吗
  • 未经加工的
  • 跨月冲红的发票怎么做会计分录
  • 加工费如何开增票
  • 非居民企业所得税
  • 支付水电费会计等式
  • 备用金分为哪两种
  • 关于财务报销的法律
  • 等额本金还款计算公式
  • 利润总额和未分成比例
  • 工厂的委托加工怎么写
  • 挂靠工程项目预交税金的会计分录如何做?
  • 如何在sql server表中添加数据表格为什么没有显示
  • sql无法用sql身份验证
  • winxp电脑显示器亮度怎么调
  • 英伟达更新有用吗
  • 更新版本
  • win8如何更改账户名
  • android opengles2.0教程
  • 项目部不足和改进
  • python里面有什么
  • js实现滑动效果
  • js实现无限循环
  • 增值税红字发票怎么做账
  • 基层税务所工作现状
  • 国家税务总局石棉县税务局
  • 青岛税务局网上办税厅app
  • 国税局和税务稽查的区别
  • 金税盘的操作步骤
  • 博兴公安局局长
  • 宝宝早教一般选什么课程
  • 河南国税发票查询真伪官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设