문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/

측정값 인덱스 사용

이 페이지의 내용

  • 다음으로 인덱스 액세스 정보 가져오기: $indexStats
  • (으)로 쿼리 계획 반환 explain()
  • 인덱스 사용 관리: hint()
  • 인덱스 지표

컬렉션의 각 인덱스 사용에 관한 통계를 얻으려면 $indexStats 애그리게이션 단계를 사용합니다. 예를 들어, 다음 애그리게이션 작업은 orders 컬렉션의 인덱스 사용에 대한 통계를 반환합니다.

db.orders.aggregate( [ { $indexStats: { } } ] )

다음도 참조하세요.

executionStats 모드의 db.collection.explain() 또는 cursor.explain() 메서드를 사용하여 사용한 인덱스, 스캔 문서 수, 쿼리 처리 시간(밀리초) 등 쿼리 프로세스에 관한 통계를 반환합니다.

allPlansExecution 모드의 db.collection.explain() 또는 cursor.explain() 메서드를 실행하여 계획 선택 중에 수집된 부분 실행 통계를 확인합니다.

다음도 참조하세요.

db.collection.find() 작업에 특정 인덱스 사용을 강제하려면 hint() 메서드를 포함한 인덱스를 지정합니다. hint() 메서드를 find() 메서드에 추가합니다. 다음 예시를 고려할 수 있습니다.

db.people.find(
{ name: "John Doe", zipcode: { $gt: "63000" } }
).hint( { zipcode: 1 } )

특정 인덱스에 대한 실행 통계를 확인하려면 db.collection.find()hint() 메서드를 추가한 후 cursor.explain()을 추가합니다.예시는 아내와 같습니다.

db.people.find(
{ name: "John Doe", zipcode: { $gt: "63000" } }
).hint( { zipcode: 1 } ).explain("executionStats")

또는 hint() 메서드를 db.collection.explain().find()에 추가합니다.

db.people.explain("executionStats").find(
{ name: "John Doe", zipcode: { $gt: "63000" } }
).hint( { zipcode: 1 } )

MongoDB가 어떠한 인덱스도 사용하지 못하도록 hint() 메서드에 $natural 연산자를 지정합니다.

db.people.find(
{ name: "John Doe", zipcode: { $gt: "63000" } }
).hint( { $natural: 1 } )

$indexStats 집계 단계 외에도 MongoDB는 데이터베이스의 인덱스 사용을 분석할 때 고려할 수 있는 다양한 인덱스 통계를 제공합니다.

← 색인 관리