Query Explain으로 쿼리 실행 분석
이 페이지에서는 쿼리를 실행할 때 쿼리 실행 정보를 검색하는 방법을 설명합니다.Query Explain 사용
Query Explain을 사용하여 쿼리가 실행되는 방식을 파악할 수 있습니다. 이 페이지에서는 queriegoogledata/devsite/site-cloud/ko/firestore/mongodb-compatibility/quotas.mds를 최적화하는 데 사용할 수 있는 세부정보를 제공합니다. 쿼리 설명 지원은 현재 Google Cloud 콘솔로 제한됩니다.
쿼리 설명을 사용하려면 쿼리 편집기에서 쿼리를 실행하고 설명 탭을 엽니다.
콘솔
-
Google Cloud 콘솔에서 데이터베이스 페이지로 이동합니다.
- 데이터베이스 목록에서 MongoDB 호환성을 갖춘 Firestore 데이터베이스를 선택합니다. Google Cloud 콘솔에서 해당 데이터베이스의 Firestore 탐색기가 열립니다.
- 쿼리 편집기에 쿼리를 입력하고 실행을 클릭합니다.
-
설명 탭을 클릭하여 쿼리 분석 출력을 확인합니다.
분석
쿼리 설명의 출력에는 요약 통계와 실행 트리라는 두 가지 기본 구성요소가 포함됩니다. 다음 쿼리를 예로 들어 보겠습니다.
db.order.aggregate(
[
{ "$match": { "user_id": 1234 } },
{ "$sort": { "date_placed": 1 } }
]
)
요약 통계
설명된 출력의 상단에는 실행 통계의 요약이 포함되어 있습니다. 이 통계를 사용하여 쿼리의 지연 시간 또는 비용이 높은지 확인합니다. 또한 쿼리가 메모리 한도에 얼마나 근접했는지 알려주는 메모리 통계도 포함되어 있습니다.
Billing Metrics:
read units: 1
Execution Metrics:
request peak memory usage: 4.00 KiB (4,096 B)
results returned: 1
실행 트리
실행 트리는 쿼리 실행을 일련의 노드로 설명합니다. 하단 노드 (리프 노드)는 저장소 레이어에서 데이터를 가져와 트리를 위로 이동하여 쿼리 응답을 생성합니다.
각 실행 노드에 관한 자세한 내용은 실행 참조를 참고하세요.
이 정보를 사용하여 쿼리를 최적화하는 방법에 관한 자세한 내용은 쿼리 실행 최적화를 참고하세요.
다음은 실행 트리의 예입니다.
• Drop
| fields to drop: [__$3__]
| records returned: 0
|
└── • MajorSort
| fields: [__$3__ ASC]
| peak memory usage: 4.00 KiB (4,096 B)
| records returned: 0
|
└── • Extend
| expressions: [date_placed AS __$3__]
| records returned: 0
|
└── • Drop
| fields to drop: [__key__]
| records returned: 0
|
└── • Extend
| expressions: [_id(__key__) AS __id__]
| records returned: 0
|
└── • Filter
| expression: $eq(user, 1,234)
| records returned: 0
|
└── • TableScan
order: UNDEFINED
properties: * - { __create_time__, __update_time__ }
records returned: 0
records scanned: 0
source: (default)#/**/collection