有一场抽奖活动,每个用户可以重复参与抽奖,前端需要展示参与的用户数,数据量大用 GroupBy Uid 查询很慢 T_T
请问各位大佬应该如何优化这个部分的查询呢?
![]() | 1 lovelive1024 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 最简单加张表,用户第一次抽奖往里面填一条数据,后面的都不添加,或者直接 redis set |