消息关闭
    暂无新消息!

1、想统计今日新增客户数,昨日新增客户数,以及今日跟进记录数等等,数据量很大,前面用的是加1减1的方式,但经常会出现误差,怎么解决这个统计的问题?难道必须用count吗?


2个回答

︿ 1

大数据量的统计最好不要直接在主库上搞 -- 加1减1的方式不锁表不准确,锁表影响性能,而count性能也会很差。

建议把统计功能独立成一个子系统,业务服务器通过消息队列把新增客户/删除客户的操作通知到这个统计子系统里面。

在这个子系统里面可以考虑使用时间序列数据库(比如开源的Elasticsearch)来存储,非常方便统计。即使不用专门的时间序列数据库,而直接用mysql的话,可以单独搞个mysql数据库,这样锁表来加1减1,或者count都可以,反正不是主库。

︿ 1
  • 如果是自增的id可以用今天最后一个减去昨天最后一个来计算。

  • 使用的统计表加1减1

  • 使用count