crm系统统计表的设计问题
目前在做一个crm的统计功能,需要建立相关表来存储与用户有关的各种数据。
比如:统计当日某员工新增客户数。
先设计了一个统计表来存储员工每天的客户数。
然后在员工添加客户的时候,在统计表中的相应字段加1。删除客户的时候,统计表中相应字段减1。
这个触发加1减1的操作,用swoole来异步执行。
最近,还需要添加统计本周、本月、本季度、本年统计数据的功能。
我就把【日统计表】复制了四份出来,分别对应【周统计表】、【月统计表】、【季度统计表】、【年统计表】。
这五个表的数据结构差不多。
我现在的问题是:
1.我之前这种用异步触发来统计用户每日客户数的方式,是否是最优的?是否还有别的更好的方式?
2.统计周、月、季度、年的数据的时候,是从【日统计表】中计算出来好,还是直接建这么四个表还是用异步触发的方式来直接存储相关数据好?
有没有高手能解答一下,在此万分感谢
回复内容:
目前在做一个crm的统计功能,需要建立相关表来存储与用户有关的各种数据。
比如:统计当日某员工新增客户数。
先设计了一个统计表来存储员工每天的客户数。
然后在员工添加客户的时候,在统计表中的相应字段加1。删除客户的时候,统计表中相应字段减1。
这个触发加1减1的操作,用swoole来异步执行。
最近,还需要添加统计本周、本月、本季度、本年统计数据的功能。
我就把【日统计表】复制了四份出来,分别对应【周统计表】、【月统计表】、【季度统计表】、【年统计表】。
这五个表的数据结构差不多。
我现在的问题是:
1.我之前这种用异步触发来统计用户每日客户数的方式,是否是最优的?是否还有别的更好的方式?
2.统计周、月、季度、年的数据的时候,是从【日统计表】中计算出来好,还是直接建这么四个表还是用异步触发的方式来直接存储相关数据好?
有没有高手能解答一下,在此万分感谢
你们客户量是多少?假如百万级别或以下,如果是我来做,都存一张表也可以啊。表里有两个字段,一个叫created_at
,一个叫deleted_at
,都是datetime类型,然后对这两个字段作索引。
以后统计的时候实时查询即可,百万级以下速度飞快的,而且你想查什么范围就查什么范围。数据再多点,就加个缓存也能轻松解决性能问题。弄很多张表来搞这个事情复杂度太高了,得不偿失
推荐阅读
-
PPTV网络电视提示系统播放器损坏问题的解决方法
-
Centos系统下“无法打开并写入文件”问题的解决
-
系统更新(补丁KB2670838)IE浏览器出现蓝屏问题的临时解决方法
-
平面设计中字库使用的问题解答
-
ubuntu 16.04系统完美解决pip不能升级的问题
-
Ubuntu 16.04 LTS系统里中文txt文件打开的问题解决
-
liunx系统下时钟不同步会出现问题 怎么同步Linux 的系统时钟和硬件时钟?
-
Win10系统U盘无法写入文件怎么办?Win10电脑U盘无法写入问题的解决方法
-
解决WinXP系统Internet Explorerr脚本错误问题的方法
-
Android拍照保存在系统相册不显示的问题解决方法