SQL 樹狀結構
keywords:
- 樹狀結構
- Recursive 遞迴查詢
- Nested sets model 巢狀資料表
- Nested sets pattern 巢狀集合模型
傳統做法
- column: id, parent_id
- id unique
- 缺點:
- 查詢效能差
- 若 id 非唯一,在網上層查,有可能會走錯路徑,必須記錄最根層節點
- 好理解
- column: id, lft, rgt, level
- 缺點:
- 新增/更新效能差
行為
- 撈取某個節點下一層
- select where parent_id=節點
- 撈取某個節點下面整棵樹
- select id where parent_id in ( select id where parent_id=節點)
- 撈取某個節點的上面 N 層的父節點
- select parent_id where id = (select parent_id where id=aaa)
- 撈取麵包屑 (某個節點上面每一層節點名稱)
參考文獻
用 Nested Set Model 建立巢狀資料表
你還在用遞迴產生樹狀結構嗎
SQL 樹狀結構
Reviewed by Wild
on
6/02/2016 08:15:00 下午
Rating:
沒有留言:
沒有Google帳號也可發表意見唷!