位置: 编程技术 - 正文

MySQL中实现高性能高并发计数器方案(例如文章点击数)(mysql如何实现高性能读写)

发布时间:2024-01-31

推荐整理分享MySQL中实现高性能高并发计数器方案(例如文章点击数)(mysql如何实现高性能读写),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:高性能mysql这本书如何,mysql 高性能,mysql必知必会和高性能mysql,mysql怎么实现高可用,mysql高级特性,mysql怎么实现高可用,mysql怎么实现高可用,mysql怎么实现高可用,内容如对您有帮助,希望把文章链接给更多的朋友!

现在有很多的项目,对计数器的实现甚是随意,比如在实现网站文章点击数的时候,是这么设计数据表的,如:”article_id, article_name, article_content, article_author, article_view……在article_view中记录该文章的浏览量。诈一看似乎没有问题。对于小站,比如本博客,就是这么做的,因为小菜的博客难道会涉及并发问题吗?答案显而易见,一天没多少IP,而且以后不会很大。

言归正传,对文章资讯类为主的项目,在浏览一个页面的时候不但要进行大量的查(查询上文的记录,已经所属分类的名字、热门文章资讯评论、TAG等),还要进行写操作(更新浏览数点击数)。把文章的详细内容和计数器放在一张表尽管对开发很方便,但是会造成数据库的压力过大(不然为什么大项目都要分库分表呢)。

那么,分两张表存放就好了么?一张表存文章详细信息,另一张表单独存计数器。

这种方式,虽然分担了文章表的压力,但是每当有一个进程请求更新的时候,都会产生全局的互斥锁,只能串行,不能并行。在高并发下会有较长的等待时间。

MySQL中实现高性能高并发计数器方案(例如文章点击数)(mysql如何实现高性能读写)

另一种比较好的办法是对每一个文章的计数器不是一行,而是多行,比如吧,一百行。每次随机更新其中一行,该文章的浏览数就是所有行的和。

小访问量的随机池子个肯定多了,三五个足矣。每次访问的时候,随机一个数字(1-)作为pond,如何该pond存在则更新view+1,否则插入,view=1。借助DUPLICATE KEY,不然在程序里是实现得先SELECT,判断一下再INSERT或者UPDATE。

获取指定文章的总访问量的时候:

PS:凡事都是双刃剑。为了更快的读我们通常要牺牲一些东西。在读比较多的表要加快读的速度,在写较多的表要加快写的速度。各自权衡。在加快读的速度的时候,我们牺牲的并不仅仅是写的性能,还有开发成本,开发变的更复杂,维护成本等。所以并不是读的速度越快越好,需要找一个平衡点。

MySQL数据库开启、关闭、查看函数功能的方法 应用MySQL时,会遇到不能创建函数的情况。出现如下错误信息:ERROR:ThisfunctionhasnoneofDETERMINISTIC,NOSQL,orREADSSQLDATAinitsdeclarationandbinaryloggingisenabled(you*might*

mysql 日期和时间函数 mysqlSELECTsomethingFROMtbl_nameWHERETO_DAYS(NOW())?TO_DAYS(date_col)=;DAYOFWEEK(date)返回date的星期索引(1=Sunday,2=Monday,...7=Saturday)。索引值符合ODBC的标准。mysqlSELECTDAYOFWEEK

MySQL操作数据库和表的常用命令新手教程 我是新手学习如何管理和导航MySQL数据库和表是要掌握的首要任务之一,下面的内容将主要对MySQL的数据库和表的一些常用命令进行总结,一些我们不得

标签: mysql如何实现高性能读写

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

上一篇:什么情况下需要创建MySQL索引?(什么情况下需要做心脏造影)

下一篇:MySQL数据库开启、关闭、查看函数功能的方法(mysql如何开启)

  • 补提去年所得税会计分录怎么写
  • 融资租入的固定资产需要计提折旧吗
  • 小规模首次申请发票张数
  • 盈余公积是否必要交税
  • 境外所得抵免限额小于实际缴纳
  • 购入的固定资产
  • 个人所得税附加扣除中住房贷款利息扣除
  • 企业资金运动包括哪几个环节
  • 工资薪金所得应纳税所得额
  • 企业总资产是否包含累积折旧
  • 库存商品采用定价法
  • 总分类一般采用什么格式
  • 原材料作废品处理方法
  • 筹资活动现金流量净额为负
  • 摊销制造费用如何结转做会计分录呢?
  • 应付账款坏账处理说明
  • 医院外聘专家费用由科室承担吗
  • 房地产公司工程管理制度
  • 支付短期借款计入什么科目
  • 工厂采购原材料销售给外贸公司
  • 企业作为股东分红上税吗怎么算
  • 农业企业销售林木是否要交印花税?
  • 老板报销没有发票怎么办
  • 领钱签字表格模板图片
  • 加工费的增值税税率是多少
  • 残疾人保障金中上年在职职工人数怎么计算
  • 资产负债表应收账款是负数怎么回事
  • 辅助生产费用的归集
  • 个税申报错误怎么更改
  • 企业之间的无偿借贷行为,作为借款方需要缴纳哪些税
  • 样品送出,不收款怎么做账?
  • 金蝶迷你版不能期末结账怎么办
  • macbook右上角
  • 集团公司股份
  • 权益法分红的会计分录
  • 投资收益亏损后会怎么样
  • 刚毕业的学生可以买学生票吗
  • 原材料废料怎么做账
  • dghm.exe是什么程序
  • 最小全画幅的数值是多少
  • 成本核算流程会议记录
  • 转账支票购买办公用品会计
  • 在承租土地上建房是否应核算为固定资产会计视野
  • 个人出售二手房要交增值税吗
  • 都有哪些收据可以抵税
  • vue中使用nodejs
  • 未分配利润可以弥补亏损吗
  • 工程完工收到工程发票
  • 业务招待费可以结转以后年度扣除吗
  • 开票软件是什么名字
  • 小企业会计准则调整以前年度费用分录
  • 哪种银行贷款利息最低
  • 企业收到工程款会计分录
  • dede织梦怎么转成zblog
  • 关于录制初三毕业班家长寄语通知
  • 自己动手把桌子改窄
  • 无资产可执行啥意思
  • 装修行业小规模最高能开几个点的票
  • 附加税税率是指
  • 现金支付什么会计科目
  • 中小企业会计科目
  • 收到赞助费怎么回复客户
  • 应付账款明细账怎么登记
  • 收到的稳岗补贴要交企业所得税吗
  • 银行信用贷款发放邮件后多久到账
  • 如何保证系统异常状态
  • windows任务管理
  • linux的tar
  • winxp慢怎么办
  • linux各种命令
  • perl 排序
  • 那些年的我们什么意思
  • php上传文件到指定目录
  • linuxparted命令
  • node断点调试
  • recyclebinh
  • jQuery EasyUI Tab 选项卡问题小结
  • java教程 视
  • 澳门国际金融税务局
  • 国税和地税是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号