MongoDB: does document size affect query performance?

后端 未结 4 1835
不思量自难忘°
不思量自难忘° 2021-01-31 16:31

Assume a mobile game that is backed by a MongoDB database containing a User collection with several million documents.

Now assume several dozen properties t

4条回答
  •  栀梦
    栀梦 (楼主)
    2021-01-31 17:19

    One way to rephrase the question is to say, does a 1 million document query take longer if documents are 16mb vs 16kb each.

    Correct me if I'm wrong, from my own experience, the smaller the document size, the faster the query.

    I've done queries on 500k documents vs 25k documents and the 25k query was noticeably faster - ranging anywhere from a few milliseconds to 1-3 seconds faster. On production the time difference is about 2x-10x more.

    The one aspect where document size comes into play is in query sorting, in which case, document size will affect whether the query itself will run or not. I've reached this limit numerous times trying to sort as little as 2k documents.

    More references with some solutions here: https://docs.mongodb.org/manual/reference/limits/#operations https://docs.mongodb.org/manual/reference/operator/aggregation/sort/#sort-memory-limit

    At the end of the day, its the end user that suffers.

    When I attempt to remedy large queries causing unacceptably slow performance. I usually find myself creating a new collection with a subset of data, and using a lot of query conditions along with a sort and a limit.

    Hope this helps!

提交回复
热议问题