我想知道将来最简单的方法是什么,使查询既有效又不复杂。
我应该保存像
这样的双向关系from_id = 1,to_id = 2 from_id = 2,to_id = 1
或只创建一个唯一的行
from_id = 1,to_id = 2
有什么想法吗?
答案 0 :(得分:7)
我建议双向关系。它是灵活的,它只是在insert
和delete
记录时的额外工作。
我看到的好处是:
where from_id=userid
,而不是where from_id=userid or to_id=userid
,后来价格昂贵。userA is friend of userB while userB does not approves the relationship
这样的案例。要执行此操作,您可能需要额外isApproved
并为true
设置from_id=userA, to_id=userB
,为from_id=userB, to_id=userA
设置为false - 这将允许更便宜的sort
和{{ 1}}。