반응형
mongob 설명 이해하기
나는 쿼리를 실행하고 mongo 콘솔에서 설명하려고 시도했고 받았습니다.
"isMultiKey" : true,
"n" : 8,
"nscannedObjects" : 17272,
"nscanned" : 17272,
"nscannedObjectsAllPlans" : 21836,
"nscannedAllPlans" : 21836,
"scanAndOrder" : true,
"indexOnly" : false,
"nYields" : 0,
"nChunkSkips" : 0,
"millis" : 184,
대부분의 것들은 http://www.mongodb.org/display/DOCS/Explain, 에 설명되어 있지만, 저는 nscannedObjectsAllPlans, nscannedAllPlans가 무엇을 의미하는지 이해할 수 없습니다.누가 도와줄 수 있습니까?
감사해요.
nscanned
그리고.nscannedObjects
성공적인 쿼리 계획에 대한 보고서 결과입니다.
nscannedAllPlans
그리고.nscannedObjectsAllPlans
모든 계획에 대한 결과를 보고합니다.
검색된 인덱스 항목 수입니다.
totalKeysExamined
에 해당합니다.nscanned
반환된 필드cursor.explain()
이전 버전의 MongoDB.
예:
t = db.jstests_explainb;
t.drop();
t.ensureIndex( { a:1, b:1 } );
t.ensureIndex( { b:1, a:1 } );
t.save( { a:0, b:1 } );
t.save( { a:1, b:0 } );
// Older mongodb (< 3.0? )
t.find( { a:{ $gte:0 }, b:{ $gte:0 } } ).explain( true );
{
"isMultiKey": false,
"n": 2,
"nscannedObjects": 2,
"nscanned": 2,
"nscannedObjectsAllPlans": 6,
"nscannedAllPlans": 6,
"scanAndOrder": false,
"indexOnly": false,
"nYields": 0,
"nChunkSkips": 0,
"millis": 2,
...
}
// MongoDB 4.4
t.find( { a:{ $gte:0 }, b:{ $gte:0 } } ).explain( true );
{
"queryPlanner" : {
"plannerVersion" : 1,
"namespace" : "test.jstests_explainb",
...
"queryHash" : "CB67518C",
"planCacheKey" : "5E76CDD1",
"winningPlan" : {
"stage" : "FETCH",
"inputStage" : {
"stage" : "IXSCAN",
"keyPattern" : {
"a" : 1,
"b" : 1
},
"indexName" : "a_1_b_1",
}
},
"rejectedPlans" : [
{
"stage" : "FETCH",
"inputStage" : {
"stage" : "IXSCAN",
"keyPattern" : {
"b" : 1,
"a" : 1
},
"indexName" : "b_1_a_1",
}
}
],
...
},
"executionStats" : {
"executionSuccess" : true,
"nReturned" : 2,
"executionTimeMillis" : 0,
"totalKeysExamined" : 2, // <-- same as `nscanned`
"totalDocsExamined" : 2, // <--
"executionStages" : { ... }
"allPlansExecution" : [
{...},
{...}
]
}
언급URL : https://stackoverflow.com/questions/12510974/understanding-mongo-db-explain
반응형
'programing' 카테고리의 다른 글
Angular2/4/5에서 사용자 지정 비동기 검증기를 구현하는 방법 (0) | 2023.06.30 |
---|---|
한 가지에서 다른 가지로 체리 픽하는 방법 (0) | 2023.06.30 |
HTML - PHP의 텍스트 영역을 사용하여 MariaDB 테이블에 두 개의 값 삽입 (0) | 2023.06.30 |
Angular2 예외:'routerLink'는 알려진 네이티브 속성이 아니므로 바인딩할 수 없습니다. (0) | 2023.06.30 |
Mongodb에서 내장된 문서 속성을 업데이트하는 중 (0) | 2023.06.30 |