如何提高/优化MongoDB查询的速度?

时间:2015-11-26 16:50:31

标签: mongodb mongodb-query

我有一个包含约30k记录的小型Mongo数据库。 简单查询,使用5-6个参数需要几乎一秒钟(考虑整个DB在RAM中)。 任何人都可以建议我做错了吗?

  

2015-11-26T18:41:29.540 + 0200 [conn3]命令vvpilotdb2. $ cmd命令:   count {count:“TestResults”,query:{Test:5.0,IsAC:true,   InputMode:0.0,IsOfficialTest:true,IsSanity:false,IsStress:   false,IsUnderNoise:false,MetalRodSize:9.0},字段:{}}   planSummary:COLLSCAN keyUpdates:0 numYields:1 locks(micros)r:1397227   reslen:48 944ms

这是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
}

1 个答案:

答案 0 :(得分:2)

MongoDB中,_id字段默认为索引编制。

您应该索引要用于进行查询的字段。 也可以在多个字段及其顺序(升序/降序)上创建复合索引。

以下是相同的文档:

https://docs.mongodb.org/manual/indexes/