2011-09-24 196 views
1

我正在考慮使用mongodb作爲幾個需要大量查詢(通常在/ for循環中)來獲取所有數據的mysql表的替代品。在mongoDB中使用循環查詢

Mongo似乎是一個不錯的選擇,因爲我可以直接在控制檯上運行javascript,並佈置所有查詢並接收數據。我的問題是,在Mongo中這樣做會不會更快/更有意義。

我在Mysql中的典型循環嘗試查詢樹(有點像文件結構)。例如,我們從id 6開始,然後我們查詢它的父母,它是id 5,然後是它的父母等等,直到我們發現一個父母以id 0結尾。這可能會佔用大量的查詢,我擔心mysql將在此下摺疊。

對不起,如果我解釋這很糟糕:P

回答

0

這取決於你如何存儲樹結構。我認爲這個問題並不是關於mongo與mysql,而是你如何處理樹存儲。

這聽起來像你存儲的結構作爲一個列表(id,parent_id)。您不應該爲每次迭代返回數據庫,而應該使用一個查詢來獲取所有的圖簇,並使用一個簡單的樹形構建算法來構建結構(並且如果使用比tupple更多的屬性,則對其進行過濾)。

Mongo不會解決您的問題,因爲如果您將每個樹節點作爲文檔存儲,則最終會出現與現在相同的情況。