我有一个小的蒙古族数据库,里面有30K的记录。使用5-6参数的简单查询几乎需要一秒钟(考虑到整个DB都在RAM中)。有人能告诉我我做错了什么吗?
$cmd命令: count { count:"TestResults",查询:{ Test: 5.0,IsAC: true,InputMode: 0.0,IsOfficialTest: true,IsSanity: false,IsStress: false,IsUnderNoise: false,MetalRodSize: 9.0 },字段:{} } planSummary: COLLSCAN :0 numYields:1 lock(Micros) r:1397227 reslen:48 944 48
这是db.stats()。我没有自己分配任何索引。所有设置-默认。:
> db.stats()
{
"db" : "vvpilotdb2",
"collections" : 5,
"objects" : 28997,
"avgObjSize" : 7549.571610856296,
"dataSize" : 218914928,
"storageSize" : 243347456,
"numExtents" : 17,
"indexes" : 3,
"indexSize" : 964768,
"fileSize" : 469762048,
"nsSizeMB" : 16,
"dataFileVersion" : {
"major" : 4,
"minor" : 5
},
"extentFreeList" : {
"num" : 0,
"totalSize" : 0
},
"ok" : 1
}发布于 2015-11-27 05:23:12
在MongoDB中,默认情况下_id字段是索引的。
您应该索引将用于进行查询的字段。还可以在多个字段以及它们的顺序(上升/降序)上创建复合索引。
以下是相同的文档:
https://stackoverflow.com/questions/33943659
复制相似问题