1

ユーザーの友達を保存するための次のデータモデルを作成しました-

データベース - MySQL

tbl_user [ user_id - pk ]    
tbl_user_friend [ inviter_id - fk, friend_id - fk,  status - 1/2/3 ]   

status = 2 => friend , = 1 => invite ...

select friend_id from tbl_user_friend where inviter_id = <logged_in_id> and status = 2
UNION
select inviter_id from tbl_user_friend where friend_id = <logged_in_id> and status = 2

ここで、検索時にそれらを 1 次、2 次、3 次接続に分類する必要があります。

私が思いつくことができるオプション -

Convert above data into Graph and do BFS search.
Level of a node in BFS traversal will be its degree of connection.
  • オプション 1) これには MySQL OQGraph エンジンを使用しますが、Mysql の特別なビルドが必要です
  • オプション 2) MySQL でストアド プロシージャを使用して BFS を実行する

ここで、すでに述べたアルゴリズム/モデルよりも多くのアルゴリズム/モデルを提案できますか。

ありがとう

4

0 に答える 0