簡體   English   中英

適用於朋友,共同朋友,朋友朋友等的SQL表

[英]SQL table for friends, mutual friends, friends friends etc

我想知道將來最簡單的方法是什么,使查詢既有效又不復雜。

我應該保存雙向關系嗎?

from_id = 1,to_id = 2 from_id = 2,to_id = 1

或者只創建一個唯一的行

from_id = 1,to_id = 2

有什么想法嗎?

我建議雙向關系。 它是靈活的,它只是insertdelete記錄時的額外工作。

我看到的好處是:

  • 要獲得一個人的所有朋友,你需要做的就是where from_id=userid而不是where from_id=userid or to_id=userid ,后來價格昂貴。
  • 您可以在正向和反向關系中保留額外的元數據。 假設你有一個像userA is friend of userB while userB does not approves the relationship情況userA is friend of userB while userB does not approves the relationship 要做到這一點,你可能有一個額外的isApproved並為from_id=userA, to_id=userB設置為truefrom_id=userA, to_id=userB設置為false from_id=userB, to_id=userA - 這將允許進一​​步便宜的sortselect

    單排效果會有點棘手。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM