搜索

首页  >  问答  >  正文

php - mysql 大数据 按时间 统计总数 必须用count吗?

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

世界只因有你世界只因有你2751 天前543

全部回复(2)我来回复

  • PHP中文网

    PHP中文网2017-05-16 13:13:10

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

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

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

    回复
    0
  • ringa_lee

    ringa_lee2017-05-16 13:13:10

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

    • 使用的统计表加1减1

    • 使用count

    回复
    0
  • 取消回复