autor: Marcelo Alves
marcelo-js(mongod-3.0.7) be-mean> db.pokemons.find({name: "Muk"}).explain('executionStats').executionStats
{
"executionSuccess": true,
"nReturned": 1,
"executionTimeMillis": 0,
"totalKeysExamined": 0,
"totalDocsExamined": 610,
"executionStages": {
"stage": "COLLSCAN",
"filter": {
"name": {
"$eq": "Muk"
}
},
"nReturned": 1,
"executionTimeMillisEstimate": 0,
"works": 612,
"advanced": 1,
"needTime": 610,
"needFetch": 0,
"saveState": 4,
"restoreState": 4,
"isEOF": 1,
"invalidates": 0,
"direction": "forward",
"docsExamined": 610
}
}
marcelo-js(mongod-3.0.7) be-mean> db.pokemons.createIndex({name: 1})
{
"createdCollectionAutomatically": false,
"numIndexesBefore": 1,
"numIndexesAfter": 2,
"ok": 1
}
marcelo-js(mongod-3.0.7) be-mean> db.pokemons.find({name: "Muk"}).explain('executionStats').executionStats
{
"executionSuccess": true,
"nReturned": 1,
"executionTimeMillis": 0,
"totalKeysExamined": 1,
"totalDocsExamined": 1,
"executionStages": {
"stage": "FETCH",
"nReturned": 1,
"executionTimeMillisEstimate": 0,
"works": 2,
"advanced": 1,
"needTime": 0,
"needFetch": 0,
"saveState": 0,
"restoreState": 0,
"isEOF": 1,
"invalidates": 0,
"docsExamined": 1,
"alreadyHasObj": 0,
"inputStage": {
"stage": "IXSCAN",
"nReturned": 1,
"executionTimeMillisEstimate": 0,
"works": 2,
"advanced": 1,
"needTime": 0,
"needFetch": 0,
"saveState": 0,
"restoreState": 0,
"isEOF": 1,
"invalidates": 0,
"keyPattern": {
"name": 1
},
"indexName": "name_1",
"isMultiKey": false,
"direction": "forward",
"indexBounds": {
"name": [
"[\"Muk\", \"Muk\"]"
]
},
"keysExamined": 1,
"dupsTested": 0,
"dupsDropped": 0,
"seenInvalidated": 0,
"matchTested": 0
}
}
}
marcelo-js(mongod-3.0.7) be-mean> db.pokemons.find({$and: [{attack: 25}, {defense: 50}]}).explain('executionStats').executionStats
{
"executionSuccess": true,
"nReturned": 1,
"executionTimeMillis": 0,
"totalKeysExamined": 0,
"totalDocsExamined": 610,
"executionStages": {
"stage": "COLLSCAN",
"filter": {
"$and": [
{
"attack": {
"$eq": 25
}
},
{
"defense": {
"$eq": 50
}
}
]
},
"nReturned": 1,
"executionTimeMillisEstimate": 0,
"works": 612,
"advanced": 1,
"needTime": 610,
"needFetch": 0,
"saveState": 4,
"restoreState": 4,
"isEOF": 1,
"invalidates": 0,
"direction": "forward",
"docsExamined": 610
}
}
marcelo-js(mongod-3.0.7) be-mean> db.pokemons.createIndex({attack: 1, defense: 1})
{
"createdCollectionAutomatically": false,
"numIndexesBefore": 2,
"numIndexesAfter": 3,
"ok": 1
}
marcelo-js(mongod-3.0.7) be-mean> db.pokemons.createIndex({attack: 1, defense: 1})
{
"createdCollectionAutomatically": false,
"numIndexesBefore": 2,
"numIndexesAfter": 3,
"ok": 1
}
marcelo-js(mongod-3.0.7) be-mean> db.pokemons.find({$and: [{attack: 25}, {defense: 50}]}).explain('executionStats')
{
"queryPlanner": {
"plannerVersion": 1,
"namespace": "be-mean.pokemons",
"indexFilterSet": false,
"parsedQuery": {
"$and": [
{
"attack": {
"$eq": 25
}
},
{
"defense": {
"$eq": 50
}
}
]
},
"winningPlan": {
"stage": "FETCH",
"inputStage": {
"stage": "IXSCAN",
"keyPattern": {
"attack": 1,
"defense": 1
},
"indexName": "attack_1_defense_1",
"isMultiKey": false,
"direction": "forward",
"indexBounds": {
"attack": [
"[25.0, 25.0]"
],
"defense": [
"[50.0, 50.0]"
]
}
}
},
"rejectedPlans": [ ]
},
"executionStats": {
"executionSuccess": true,
"nReturned": 1,
"executionTimeMillis": 0,
"totalKeysExamined": 1,
"totalDocsExamined": 1,
"executionStages": {
"stage": "FETCH",
"nReturned": 1,
"executionTimeMillisEstimate": 0,
"works": 2,
"advanced": 1,
"needTime": 0,
"needFetch": 0,
"saveState": 0,
"restoreState": 0,
"isEOF": 1,
"invalidates": 0,
"docsExamined": 1,
"alreadyHasObj": 0,
"inputStage": {
"stage": "IXSCAN",
"nReturned": 1,
"executionTimeMillisEstimate": 0,
"works": 2,
"advanced": 1,
"needTime": 0,
"needFetch": 0,
"saveState": 0,
"restoreState": 0,
"isEOF": 1,
"invalidates": 0,
"keyPattern": {
"attack": 1,
"defense": 1
},
"indexName": "attack_1_defense_1",
"isMultiKey": false,
"direction": "forward",
"indexBounds": {
"attack": [
"[25.0, 25.0]"
],
"defense": [
"[50.0, 50.0]"
]
},
"keysExamined": 1,
"dupsTested": 0,
"dupsDropped": 0,
"seenInvalidated": 0,
"matchTested": 0
}
}
},
"serverInfo": {
"host": "marcelo-js",
"port": 27017,
"version": "3.0.7",
"gitVersion": "6ce7cbe8c6b899552dadd907604559806aa2e9bd"
},
"ok": 1
}