为特定用户存储站点统计信息的最佳方式是什么?基本上我想存储用户完成特定任务的次数。数据将来自一个可能很大的表,并且会经常被引用,所以我想避免 COUNT() 并将它们存储在自己的表中。
方法A
有一个包含以下字段的表,然后为每个用户设置一行来存储每个字段的计数:
User_id | posted_comments | comment_replies | post_upvotes | post_downvotes
50 12 7 23 54
方法B
有一个表存储动作,另一个存储该动作的计数:
表格1:
Id | Action
1 | posted_comments
2 | comment_replies
3 | post_upvotes
4 | post_downvotes
表 2
User_id | Action | Count
50 | 1 | 12
50 | 2 | 7
50 | 3 | 23
50 | 4 | 54
我看不到我总共有超过 25-30 个动作,但我不确定这是否太多而无法像方法 A 中那样水平存储。