很多地方用到计数器,比如微博里面的“点赞”的数量,电子商务网站评论的数量,购买的数量。
还有贷款网站的某标的认购人数。
初学者一般直接用select count(*)来计数,这绝对是大忌。
对于一边执行插入一边select count(*)的操作来说100%会出错,因为任何级别的数据库事务都限制不了插入操作。
另外数据量大的情况下select count(*)运行时间很长。
计数要增加一个计数的字段,这是个原子变量,在改变时要锁定该记录,而且要用悲观锁。
很多地方用到计数器,比如微博里面的“点赞”的数量,电子商务网站评论的数量,购买的数量。
还有贷款网站的某标的认购人数。
初学者一般直接用select count(*)来计数,这绝对是大忌。
对于一边执行插入一边select count(*)的操作来说100%会出错,因为任何级别的数据库事务都限制不了插入操作。
另外数据量大的情况下select count(*)运行时间很长。
计数要增加一个计数的字段,这是个原子变量,在改变时要锁定该记录,而且要用悲观锁。
转载于:https://www.cnblogs.com/skyblog/p/5199971.html