• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

网站发表帖子(或文章)时要操作多个数据表,这些操作是一次性完成的吗?

php 搞代码 3年前 (2022-01-25) 23次浏览 已收录 0个评论
文章目录[隐藏]

网站在发表帖子这样的功能时,往往需要操作多个数据表,比如发表一个帖子,需要插入帖子post表,然后插入帖子标签post_tag关系表,插入post_user帖子关注表,更新tag表中posts帖子数量,更新user表中的帖子数量以及积分数量等。这些多个数据表操作是否是一次性完成的,还是用到了其他的方法呢?感觉一次性完成的话时间就比较长了。在发表回复、评论是时也有消息通知这些,展示帖子时也需要更新帖子的浏览量。不知道beanstalkd的作用是什么,我看到php phalcon框架官方做得一个示例论坛中用到了这个,不知道是不是对解决这些问题有用?

回复内容:

网站在发表帖子这样的功能时,往往需要操作多个数据表,比如发表一个帖子,需要插入帖子post表,然后插入帖子标签post_tag关系表,插入post_user帖子关注表,更新tag表中posts帖子数量,更新user表中的帖子数量以及积分数量等。这些多个数据表操作是否是一次性完成的,还是用到了其他的方法呢?感觉一次性完成的话时间就比较长了。在发表回复、评论是时也有消息通知这些,展示帖子时也需要更新帖子的浏览量。不知道beanstalkd的作用是什么,我看到php phalcon框架官方做得一个示例论坛中用到了这个,不知道是不是对解决这些问题有用?

网站性能在于数据库,但是对于很多网站来说,同时间写的数据其实并不多。

根据你情况,可以做以下优化:
1.数据关联优化
post和tag的关联关系,可以单纯存入两者id,
post_tags,101xxx,103xxx
2.异步处理积分和消息通知
3.利用缓存处理频繁读写数据
浏览量可以先写入缓存,然后根据实际情况,譬如每50个浏览量,写一次数据库。

本文来源gaodai#ma#com搞*!代#%^码$网!搞代gaodaima码

一般都是根据操作的事务完整性上来考虑的,若是完整性的那么后台就是一次性完成,若不是,那么可以操作多种方式去完成,如一楼所说多种方式!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:网站发表帖子(或文章)时要操作多个数据表,这些操作是一次性完成的吗?
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址