kagxin / blog

个人博客:技术、随笔、生活
https://github.com/kagxin/blog/issues
7 stars 0 forks source link

计数表 #58

Open kagxin opened 4 years ago

kagxin commented 4 years ago

计数表

当count花费时间过长的时候可以考虑使用计数表

时刻 session
T1 begin;
T2 insert into *; 插入一条数据
T3 update 计数表中计数加1
T4 commit;

为了减少更新计数器时的行锁竞争,可以在计数表中添加多个计数行,用来统计同一个计数对象。使用计数值时,把这多个计数行加起来即可

时刻 session
T1 begin;
T2 insert into *; / 插入一条数据* /
T3 update 计数表中随机选择一个计数行,计数加1
T4 commit;

注意事项

另外一种方式

为了不在每次插入数据的时候,都去更新一次计数值,最大程度不影响插入时候的消耗。

ref: 《高性能mysql》