这个问题很具体,请从速度、规范化概念和表维护角度根据您的观点进行回答。
我正在设计一个需要存储友谊信息的社交网站。我设计了包含 auto_increment_integer id、userId1 (int) 和 userId2 (int) 的表。为了存储每个友谊,我可以有两个选择:
- 每个友谊添加一个条目
- 添加两个带有 id1_val、id2_val 和 id2_val、id1_val 的条目
第一个选项有一个优势,因为需要存储的行数更少(即每个友谊只有一个),而第二种方法提供更快的搜索,因为搜索查询只包含一列。使用索引 userId1 列,搜索变得更快。
任何人都可以用上述任何方法提出任何其他优点/缺点吗?