我知道在MongoDB查詢上使用.explain()
的輸出,可以查看n
和nscanned
之間的差異,以確定是否已執行完整集合掃描,或者是否使用了索引。 The docs狀態如何確定是否已在MongoDB中完成完整集合掃描
想要
n
和nscanned
的值儘可能接近。
Kyle Banker's excellent book MongoDB in Action說非常類似的東西:
一般來說,你想要的
n
和nscanned
值是接近在一起越好。在進行收集掃描時,幾乎從未如此。
很顯然,這兩種說法都沒有將n
和nscanned
作比較。多少比例的差異通常會推斷全面的收集掃描 - 10%,20%,30%+?有沒有其他方法可以檢查完整的收集掃描是否已完成?
結果但有可能爲查詢使用索引和仍然執行完整的收集掃描? – br3w5 2013-03-09 21:32:40
@ssbrewster不,它不是,但是,高性能地使用索引是另一件需要確保的事情,使用索引和使用索引正確的方式是兩個不同的事情 – Sammaye 2013-03-09 21:37:37
即使索引是隻用於排序結果? – br3w5 2013-03-09 21:54:15