Docs Menu

PlanCache.clearPlansByQuery()

PlanCache.clearPlansByQuery( <query>, <projection>, <sort> )

지정된 계획 캐시 쿼리 형태에 대해 캐시된 쿼리 계획을 지웁니다.

중요

Mongo쉬 방법

이 페이지에서는 mongosh 메서드에 대해 설명합니다. 이는 데이터베이스 명령 또는 Node.js와 같은 언어별 드라이버에 대한 설명서가 아닙니다.

데이터베이스 명령에 대해서는 planCacheClear 명령을 참조하십시오.

MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 설명서를 참조하세요.

이 메서드는 특정 컬렉션의 plan cache object에서만 사용할 수 있습니다. 즉, 다음과 같습니다.

db.collection.getPlanCache().clearPlansByQuery( <query>, <projection>, <sort> )

PlanCache.clearPlansByQuery() 메서드는 다음 매개 변수를 허용합니다.

Parameter
유형
설명

query

문서

계획 캐시 쿼리 형태 의 쿼리 조건자입니다. 필드 이름을 포함한 술어의 구조만이 형태에 중요합니다. 즉, 쿼리 조건자의 값이 중요하지 않습니다.

projection

문서

선택 사항. 계획 캐시 쿼리 형태 와 관련된 프로젝션 입니다. sort 매개변수를 지정하는 경우 필수입니다.

sort

문서

선택 사항. 계획 캐시 쿼리 형태 와 관련된 정렬입니다.

캐시된 쿼리 계획이 있는 쿼리 형태를 확인하려면 예제를 참조하세요.

MongoDB 8.0 부터는 인덱스 필터 를 추가하는 대신 쿼리 설정을 사용합니다. 인덱스 필터는 MongoDB 8.0 부터 더 이상 사용되지 않습니다.

쿼리 설정에는 인덱스 필터보다 더 많은 기능이 있습니다. 또한 인덱스 필터는 영구적이지 않으며 모든 클러스터 노드에 대한 인덱스 필터를 쉽게 만들 수 없습니다. 쿼리 설정을 추가하고 예제를 탐색하려면 setQuerySettings 를 참조하세요.

이 메서드는 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

authorization(으)로 실행되는 시스템에서 사용자는 planCacheWrite 조치를 포함하는 액세스 권한이 있어야 합니다.

컬렉션 orders 에 다음과 같은 계획 캐시 쿼리 형태 가 있는 경우

{
"query" : { "qty" : { "$gt" : 10 } },
"sort" : { "ord_date" : 1 },
"projection" : { },
"planCacheShapeHash" : "9AAD95BE"
}

경고

MongoDB 8.0부터 기존 queryHash 필드 planCacheShapeHash라는 새 필드 에 중복됩니다. 이전 MongoDB 버전을 사용하는 경우 queryHash 필드 만 표시됩니다. 향후 MongoDB 버전에서는 더 이상 사용되지 않는 queryHash 필드 제거 될 예정이며, 대신 planCacheShapeHash 필드 사용해야 합니다.

다음 작업은 형태에 대해 캐시된 쿼리 계획을 제거합니다.

db.orders.getPlanCache().clearPlansByQuery(
{ "qty" : { "$gt" : 10 } },
{ },
{ "ord_date" : 1 }
)

다음도 참조하세요.