MongoDB Command to Evaluate Query Performance

0

Following command can be used to evaluate query performance of a MongoDB Collection:

db.<collectionName>.find().explain("executionStats");

The above command would print result such as following. COLLSCAN represents the collection scan.

{
    "queryPlanner" : {
        "plannerVersion" : 1,
        "namespace" : "vitalflux.user",
        "indexFilterSet" : false,
        "parsedQuery" : {

        },
        "winningPlan" : {
            "stage" : "COLLSCAN",
            "direction" : "forward"
        },
        "rejectedPlans" : [ ]
    },
    "executionStats" : {
        "executionSuccess" : true,
        "nReturned" : 100,
        "executionTimeMillis" : 0,
        "totalKeysExamined" : 0,
        "totalDocsExamined" : 100,
        "executionStages" : {
            "stage" : "COLLSCAN",
            "nReturned" : 100,
            "executionTimeMillisEstimate" : 0,
            "works" : 102,
            "advanced" : 100,
            "needTime" : 1,
            "needYield" : 0,
            "saveState" : 0,
            "restoreState" : 0,
            "isEOF" : 1,
            "invalidates" : 0,
            "direction" : "forward",
            "docsExamined" : 100
        }
    },
    "serverInfo" : {
        "host" : "rs-HP83",
        "port" : 27017,
        "version" : "3.4.6",
        "gitVersion" : "c55eb86ef46ee7aede3b1e2a5d184a7df4bfb5b5"
    },
    "ok" : 1
}

Query Performance Metrics

Following are some of the metrics to watchout for when evaluating query performance:

  • totalKeysExamined: Total number of index entries scanned
  • totalDocsExamined: Total number of documents scanned to find the results.
  • executionTimeMillis: Time required to excute the query
Ajitesh Kumar

Ajitesh Kumar

Ajitesh is passionate about various different technologies including programming languages such as Java/JEE, Javascript, PHP, C/C++, mobile programming languages etc, and, computing fundamentals related with cloud-native technologies, application security, cloud computing platforms, mobile apps, big data etc.

He has also authored the book, Building Web Apps with Spring 5 and Angular.
Ajitesh Kumar

Leave A Reply

Time limit is exhausted. Please reload the CAPTCHA.