脚本宝典收集整理的这篇文章主要介绍了

mysql 计数器表

脚本宝典小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助你少写一行代码,多一份安全和惬意。

计数器表,用于保存用户的点击量等,通常使用一张独立的小表来存放,里面放一个int值,在每次点击后增加该值。

create table pv(     count int unsigned not null ) engine=InnoDB;  update pv set count = count + 1; 

对于InnoDB,对该行的修改会造成该行的锁定,使得点击后产生的事务只能串行执行。

多行

可以预先定义多行来保存点击量,然后每次更新时使用rand随机选取一行的主键id,更新该行,这样可以提升一些性能。

返回总量时使用sum把表内数据累加即可。

create table pv(     id tinyint unsigned not null primary key,     count int unsigned not null ) engine=InnoDB;  update pv set count = count + 1 where id = rand() * 100;  

随机行

直接使用插入,使用大范围的随机数或者使用uuid等不会重复的作为id,另加上on duplicate key update处理碰撞问题。

create table pv(     id char(32) not null primary key,     count int unsigned not null ) engine=InnoDB;  insert into pv values(rand() * 10000, 1) on duplicate key update count = count + 1; 

最后再运行一个定时任务定期把这些行收敛到一行即可,返回总量时仍可使用sum。

总结

以上是脚本宝典为你收集整理的

mysql 计数器表

全部内容,希望文章能够帮你解决

mysql 计数器表

所遇到的程序开发问题,欢迎加入QQ群277859234一起讨论学习。如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典网站推荐给程序员好友。 本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。

80%的人都看过