我将 mongodb 用于我们的 Application 。我通过将 system.profiling 级别设置为 2 来使用 mongodb 分析器,完成所有应用程序操作,从 system.profile 导出所有记录,最后根据分析器结果在集合上设置索引。
现在,当我确实解释了这些查询时
查询 1。
db.stocks.find({ symbol: "GOOG", date: "2013-09-13",type: "O",Mini: false, rootsymbol: "GOOG" }).sort( { "price": 1,"call":1} ).explain();
{
"cursor" : "BtreeCursor symbol_1_date_1_type_1_Mini_1_rootsymbol_1_price_1",
"nscanned" : 80,
"nscannedObjects" : 80,
"n" : 80,
"scanAndOrder" : true,
"millis" : 2,
查询 2。
db.stocks.find({ symbol: "NVO" }).explain()
{
"cursor" : "BtreeCursor symbol_1",
"nscanned" : 1,
"nscannedObjects" : 1,
"n" : 1,
"millis" : 0,
"indexBounds" : {
"symbol" : [
[
"NVO",
"NVO"
]
]
}
}
我对结果感到困惑nscanned
,nscannedObjects
并且n
在我所有的查询中总是相等的。
如果 nscanned 、 nscannedObjects 和 n 值具有相等的值,请告诉我是否存在问题?
请让我知道我是否遗漏了什么或者它是否有问题?