[英]How to traverse a tree stored in SQL database with Python?
我有一個使用實例化路徑(每行存儲路徑字符串)存儲在SQL中的根樹。
不每次都從根開始訪問每個節點節點的最佳方法是什么? 物化路徑是否適合我的方法?
Harry
├── Jane
│ ├── Mark
│ └── Diane
│ ├── Mary
│ └── George
│ └── Jill
└── Bill
我希望代碼首先從Harry開始,然后訪問Jane,Diane,George,Jill。 為了訪問瑪麗,需要從吉爾回到上一級,然后訪問瑪麗。 瑪麗沒有孩子,我們已經訪問了該級別的每個節點(喬治,瑪麗),因此我們回到了另一個級別來訪問Mark。 在該級別上沒有更多的孩子了,因此我們將上一級返回到Jane,但是在該級別上沒有其他節點,因此我們再次返回。 最后,我們只有Bill處於這個級別,然后拜訪他。 當訪問完所有節點后,我們就完成了。
我還考慮過將樹的每個級別存儲在單獨的表中,並將對這些表的引用存儲在另一個表中,但這似乎效率不高,因為我必須存儲當前遍歷的級別並處理該數據。
等級_0_表:哈里,比爾
級別_1_表:簡
Level_2_table:馬克,黛安
Level_3_table:瑪麗,喬治
Level_4_table:吉爾
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.