我想知道为保存活动流数据的表设置键的最佳方法是什么。每种活动类型都有不同的属性(有一些常见的属性)。以下是一些项目将包含的示例:
跟随活动:
- 类型
- 用户身份
- 时间戳
- follower_user_id
- followee_user_id
评论活动
- 类型
- 用户身份
- 时间戳
- comment_id
- commenter_user_id
- commented_user_id
为了显示流,我将查询 user_id 并按时间戳排序。还会有其他类型的查询 - 例如,我偶尔需要查询 user_id AND type 以及 comment_id、follower_user_id 等内容。
所以我的问题是:
- 我的主键应该是使用 user_id 和时间戳的哈希和范围键吗?
- 我是否需要为所有其他项目建立二级索引——例如comment_id,或者如果没有索引,结果是否会足够快地返回?二级索引限制为 5 个,这对于我需要执行的所有类型的查询来说是不够的。