gpt4 book ai didi

php - 寻找三度网络的更有效方法

转载 作者:行者123 更新时间:2023-11-29 20:48:58 25 4
gpt4 key购买 nike

我正在尝试开发一项功能,显示用户的三级网络( friend , friend 的 friend , friend 的 friend 的 friend )。类似于 Linkedin 的做法。

我有一个解决方案,但它似乎效率低下,并且对数据库进行了大量查询。有没有比下面的伪代码更好的已知方法来查找用户的三级联系?我是 php (和编程)新手,所以如果我错过了一些明显的东西,请提前道歉。谢谢。

Query table to find user’s 1st connections.
Push to Array1()

For (x = 0; x < count (Array1); x++){
Query table to find Array1[x]’ s 1st connections and push to Array2();
}

For (y =0; y < count(Array2); y++){
Query table to find Array2[y]’s 1st connections and push to Array3();
}

Array4 = array_unique(Array3);

数据库中的 2 个表具有以下结构:

members           
id, username, password, id

connections
connectionId, userID, friendID, confirmed

最佳答案

您可以使用 3 个带有 'in' 子句的子查询来查询 Array4

select friendID from connections where userID  in (
select friendID from connections where userID in (
select friendID from connections where userID in (
select friendID from connections where userID = 1)))

并且不要忘记创建索引

关于php - 寻找三度网络的更有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38212003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com