有一场抽奖活动,每个用户可以重复参与抽奖,前端需要展示参与的用户数,数据量大用 GroupBy Uid 查询很慢 T_T
请问各位大佬应该如何优化这个部分的查询呢?
1
ily433664 2021-08-08 11:58:31 +08:00
直接把参与人数保存下来就可以了,抽奖的时候判断是否参与过,然后参与人数+1
|
2
wangbenjun5 2021-08-08 12:09:57 +08:00
全表 group by,数据量大神仙也优化不了,换个思路,别从抽奖记录里面查啊,单独弄张表记录一下用户数不就行了,再不行,redis 记录一下啊
|
3
qa2080639 2021-08-08 12:10:19 +08:00
不需要一个用户参加了多少次的话,直接用 distinct
|
4
securityCoding 2021-08-08 12:54:09 +08:00 via Android
缓存加单表维护统计数据
|
5
2kCS5c0b0ITXE5k2 2021-08-08 13:10:12 +08:00
前端展示的不用实时啊.
|
6
IamUNICODE 2021-08-08 13:45:04 +08:00
这个开张表记录一下比较好吧
|
7
rationa1cuzz 2021-08-09 09:45:15 +08:00
最简单加张表,用户第一次抽奖往里面填一条数据,后面的都不添加,或者直接 redis set
|