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

슬롯 기반 쿼리 실행 엔진

이 페이지의 내용

  • 슬롯 기반 실행 엔진에 적합한 쿼리
  • 사용된 쿼리 엔진 확인
  • 쿼리 설명 결과 확인
  • 느린 쿼리 로그 확인

버전 5.1에 추가되었습니다.

쿼리 결과를 찾고 반환하기 위해 MongoDB는 다음 쿼리 엔진 중 하나를 사용합니다.

  • 클래식 쿼리 엔진

  • MongoDB 5.1부터 일부 쿼리에 사용할 수 있는 슬롯 기반 쿼리 실행 엔진입니다.

MongoDB는 쿼리를 실행할 엔진을 자동으로 선택합니다. 특정 쿼리에 대한 엔진을 수동으로 지정할 수 없습니다.

MongoDB는 특정 조건이 충족되는 경우 쿼리 하위 집합에 슬롯 기반 쿼리 실행 엔진을 사용할 수 있습니다. 대부분의 경우 슬롯 기반 실행 엔진은 기존 쿼리 엔진에 비해 성능이 향상되고 CPU 및 메모리 비용이 낮습니다.

MongoDB는 슬롯 기반 쿼리 실행 엔진에 적합하지 않은 쿼리에 대해 클래식 엔진을 사용합니다.

MongoDB는 쿼리별로 슬롯 기반 실행 엔진을 사용할 수 있는 자격을 결정하고 쿼리에 있는 각 연산자 및 표현식에 대한 지원을 고려합니다. 예를 들어 슬롯 기반 실행 엔진을 사용하는 두 가지 일반적인 파이프라인은 $group 또는 $lookup 단계의 집계입니다. 그러나 슬롯 기반 실행 엔진에 대한 지원은 버전별로 다르며 활발하게 변경되고 있습니다.

쿼리에서 슬롯 기반 실행 엔진을 사용했는지 확인하려면 사용된 쿼리 엔진 확인 섹션을 참조하세요.

쿼리를 실행하는 데 클래식 엔진 또는 슬롯 기반 실행 엔진이 사용되었는지 확인하는 몇 가지 방법이 있습니다.

쿼리에 대한 설명 결과는 사용된 쿼리 엔진에 따라 다릅니다. 예를 들어 슬롯 기반 실행 엔진을 사용하여 실행된 쿼리에 대한 설명 결과에는 explain.queryPlanner.winningPlan.slotBasedPlan 필드가 포함됩니다.

쿼리 엔진 간 설명 결과의 차이점에 대한 자세한 내용은 출력 구조 설명을 참조하세요.

MongoDB 6.2부터 저속 작업 로그 메시지에는 쿼리를 실행한 쿼리 엔진을 나타내는 queryFramework 필드가 포함됩니다.

  • queryFramework: "classic" 는 클래식 엔진이 쿼리를 실행했음을 나타냅니다.

  • queryFramework: "sbe" 는 슬롯 기반 쿼리 실행 엔진이 쿼리를 완료했음을 나타냅니다.

슬롯 기반 실행 엔진을 사용한 쿼리에 대한 로그 메시지 예시를 보려면 느린 작업을 참조하세요.

← 서버 세션