我在MySQL中使用了我的表的鄰接表模型,以及一個PHP函數遞歸查詢,並意識到它減慢了網站。有沒有另一種模式,我可以使用,我可以使用一個查詢來獲得父和子元素,而不遞歸?Mysql鄰接列表模型的替代?
表結構是這樣的:
myTable:
+----+----------+
| id | parentID |
+----+----------+
| 1 | null |
| 2 | 1 |
| 3 | 1 |
| 4 | 2 |
| 5 | 4 |
-----------------
我使用的是遞歸查詢象下面這樣:
function queryf($id) {
$query = mysql_query("SELECT * FROM `Table` WHERE id='$id'",$this->connect);
while($row = mysql_fetch_assoc($query)) {
$sid = $row['id'];
//code
$this->$queryf($sid);
}
}
你必須讓我們知道你是如何「使用遞歸」把事情做好,這樣你可以得到更多有用的答案 –
可能重複[遞歸的自我查詢] (http://stackoverflow.com/questions/3276136/recursive-self-query) –
可能重複的[MySQL - 最好的方法來處理這種分層數據?](http://stackoverflow.com/questions/3137674/mysql-最好的方法來處理這個分層數據) – outis