2017-10-09 31 views
0

我有一個聚合,在第一階段使用$查找加入tow集合和 然後使用$ skip和$ limit.But它是如此緩慢。 如果我把我的彙總管道中的$ skip和$ limit之後的$ lookup放入 對我的彙總查詢的性能有什麼影響?調整mongoDB查找

+1

你試過了嗎? –

+1

請告訴我們你已經修好了 – Mazz

+0

我已經嘗試過,但目前我有幾個有效的data.differences是不是有形的。 –

回答

0

您的查詢的性能下降很可能是因爲skip。聚合$skip沒有關於其頁面上的信息,但我分享的鏈接說,skip有性能問題。最有可能的聚合跳過也有。

對於你的問題,你應該在任何查詢/加入任何數據庫之前儘可能多地過濾。所以不必要的文件/數據將不會進入公羊。但就像我說的很可能它不會讓你的查詢速度更快。

+0

$ lookup是否需要遍歷所有連接文檔? –

+0

@Masoudjf,據我所知,如果查找字段被索引,它可以使用索引。但是,其他無法查看的文檔必須通過掃描獲取。真正的問題在於這個;如果您要在下一個階段過濾一些已連接的文檔,請先對其進行過濾。 – barbakini

+0

感謝您的回覆 –