热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

天涯社区这种收藏提示更新了多少帖子在数据库上应该如何设计?

如图:我收藏的帖子后面显示该帖子楼主又更新了多少帖子,点击该帖子后,该帖子“新增帖子数”置零。假设以“三十三岁,16年股龄,记录自己的心情”为例,楼主更新了该帖子后,是不是要在"tianya_collections"这个...

如图:

我收藏的帖子后面显示该帖子楼主又更新了多少帖子,点击该帖子后,该帖子“新增帖子数”置零。
假设以“三十三岁,16年股龄,记录自己的心情”为例,楼主更新了该帖子后,是不是要在"tianya_collections"这个数据表所有关注该帖子的人都要在"update_num"这个字段下面都要+1?感觉这样效率有点低下吧,有没有更好的数据库设计方式?
我能想到的数据库设计:tianya_collections


id tiezi_id uid update_num


回复内容:

如图:

我收藏的帖子后面显示该帖子楼主又更新了多少帖子,点击该帖子后,该帖子“新增帖子数”置零。
假设以“三十三岁,16年股龄,记录自己的心情”为例,楼主更新了该帖子后,是不是要在"tianya_collections"这个数据表所有关注该帖子的人都要在"update_num"这个字段下面都要+1?感觉这样效率有点低下吧,有没有更好的数据库设计方式?
我能想到的数据库设计:tianya_collections


id tiezi_id uid update_num


一種思路是以收藏者爲參考系,收藏者維持一個變量,隨着目標的變化而變化,每看一次都清零;

另一種是以目標爲參考系,目標變化只需要自顧自地變化,收藏者也只需要維護自己看的時候目標是多少。
等再看的時候,一對比,自然就得出收藏者參考系的變量。

原帖的数据库 -> 原帖的总帖数 A
本人的收藏夹数据库 -> 本人已浏览的帖数 B

当本人刷新收藏夹页面时,服务器得到A、B, 再用A-B

推荐阅读
  • 请看|间隔时间_Postgresql 主从复制 ... [详细]
  • 本文详细探讨了在服务器上运行的PostgreSQL数据库出现'内存不足'错误的具体情况,并提供了一系列有效的解决策略。通过本文,读者将能够更好地理解这一常见问题及其背后的原理。 ... [详细]
  • 本文探讨了大型服务端开发过程中常见的几个误区,包括异步任务处理不当、日志同步模式使用、网络操作未设置超时、缓存命中率及响应时间未统计、单一缓存模式、分布式缓存加锁不当以及团队管理上的误区,旨在帮助开发者避免这些常见错误。 ... [详细]
  • 本文介绍如何在Laravel框架中集成微信支付功能,包括如何配置微信支付环境、处理支付请求及接收支付回调等关键步骤。 ... [详细]
  • 推荐两款实用的网络诊断工具
    大家好,因为一些私事很久没有更新博客了。今天向大家介绍两款非常有用的网络诊断工具——Tracert和Telnet,帮助你更好地理解和解决网络问题。 ... [详细]
  • 在Java应用程序开发过程中,FTP协议被广泛用于文件的上传和下载操作。本文通过Jakarta Commons Net库中的FTPClient类,详细介绍如何实现文件的上传和下载功能。 ... [详细]
  • 三菱PLC SLMP协议报文详解
    本文详细解析了三菱PLC中使用的SLMP协议报文结构,包括其工作原理、通信流程及报文格式,旨在帮助工程师和技术人员更好地理解和运用这一协议。 ... [详细]
  • 使用C# .NET构建UDP点对点聊天应用
    本文详细介绍如何利用C# .NET框架开发一个基于UDP协议的点对点聊天程序,包括客户端与服务器之间的连接建立、数据传输等核心功能。 ... [详细]
  • 本指南详细介绍了如何在同一台计算机上配置多个GitHub账户,并使用不同的SSH密钥进行身份验证,确保每个账户的安全性和独立性。 ... [详细]
  • 微信小程序中实现位置获取的全面指南
    本文详细介绍了如何在微信小程序中实现地理位置的获取,包括通过微信官方API和腾讯地图API两种方式。文中不仅涵盖了必要的准备工作,如申请开发者密钥、下载并配置SDK等,还提供了处理用户授权及位置信息获取的具体代码示例。 ... [详细]
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • 2023年最佳PHP开发学习路径推荐
    本文详细探讨了针对不同背景的学习者如何选择最适合自己的PHP开发学习资源,包括书籍、在线课程及培训机构的推荐。 ... [详细]
  • 在Linux系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 本文探讨了如何通过WebBrowser控件在用户点击输入框时自动显示图片验证码。该过程可能涉及JavaScript事件的触发与响应。 ... [详细]
author-avatar
520文雅_293
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有