php - 网站发表帖子(或文章)时要操作多个数据表,这些操作是一次性完成的吗?
阿神
阿神 2017-04-10 15:35:31
[PHP讨论组]

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

阿神
阿神

闭关修行中......

全部回复(2)
巴扎黑

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

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

巴扎黑

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号