我在运行 8GB linux 机器上有一个 mongodb。目前它处于测试模式,因此几乎没有其他请求进入(如果有的话)。
我有一个收藏品,里面有 100 万份文件。我正在以下字段上创建索引:PeerGroup 和 CategoryIds(这是一个由 3-6 个元素组成的数组,将在多键中产生)db.items.ensureIndex({PeerGroup:1, CategoryIds:1}
:。
当我查询时
db.items.find({"CategoryIds" : new BinData(3,"xqScEqwPiEOjQg7tzs6PHA=="), "PeerGroup" : "anonymous"}).explain()
我有以下结果:
{
"cursor" : "BtreeCursor PeerGroup_1_CategoryIds_1",
"isMultiKey" : true,
"n" : 203944,
"nscannedObjects" : 203944,
"nscanned" : 203944,
"nscannedObjectsAllPlans" : 203944,
"nscannedAllPlans" : 203944,
"scanAndOrder" : false,
"indexOnly" : false,
"nYields" : 1,
"nChunkSkips" : 0,
"millis" : 680,
"indexBounds" : {
"PeerGroup" : [
[
"anonymous",
"anonymous"
]
],
"CategoryIds" : [
[
BinData(3,"BXzpwVQozECLaPkJy26t6Q=="),
BinData(3,"BXzpwVQozECLaPkJy26t6Q==")
]
]
},
"server" : "db02:27017"
}
我认为680ms并不是那么快。或者这是可以接受的吗?另外,为什么说 "indexOnly:false" ?