• English日本語한국어
  • 로그인지금 시작하기

이 한글 문서는 사용자의 편의를 위해 기계 번역되었습니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

NRQL 하위 쿼리

NRQL을 사용하면 다른 쿼리 내부에 중첩된 쿼리인 하위 쿼리 를 실행할 수 있습니다.

하위 쿼리 기본

하위 쿼리는 다른 쿼리 내부에 중첩된 쿼리입니다. 하위 쿼리를 사용하면 한 쿼리의 결과를 다른 쿼리에서 사용할 수 있습니다.하위 쿼리로 수행할 수 있는 작업의 예:

  • 상위 엔티티의 하위 엔티티에 대한 계산 수행
  • 인프라 에이전트의 CPU 사용률을 기반으로 CPU 로드가 높은 호스트에 대한 오류 로그 보기

NRQL에서 하위 쿼리는 SELECT 문과 WHERE 절에 나타날 수 있습니다.

예제 하위 쿼리

다음은 평균 이상의 기간을 가진 트랜잭션 수를 가져오는 쿼리의 예입니다.

SELECT count(*) FROM Transaction WHERE duration > (SELECT average(duration) FROM Transaction)

하위 쿼리의 결과는 컨텍스트에서 의미가 있어야 합니다. 위의 예에서 WHERE 절의 보다 큼 조건에는 단일 값을 반환하는 하위 쿼리가 필요합니다. 값 집합을 반환하는 하위 쿼리(예: uniques() 하위 쿼리)는 실패합니다.

하위 쿼리는 다른 하위 쿼리 안에 중첩될 수 있습니다.한 쿼리에는 최대 세 개의 하위 쿼리(중첩 또는 비중첩)가 허용됩니다.

하위 쿼리의 시간 범위는 SINCE/UNTIL로 명시적으로 지정하지 않는 한 외부 쿼리의 시간 범위와 동일합니다. 대시보드의 time picker[시간 선택기] 에서 기간을 선택하면 하위 쿼리의 시간 범위가 외부 쿼리의 시간 범위와 정렬됩니다. 해당 차트에 대해 Ignore Time Picker를 설정한 경우 하위 쿼리의 시간 범위와 외부 쿼리의 시간 범위는 동일하지 않습니다.

하위 쿼리 실행

쿼리 실행 중에 각 하위 쿼리는 독립적으로 실행되고 그 결과는 외부 쿼리에서 상수 값 또는 값 집합으로 사용됩니다.이 실행 모델로 인해 하위 쿼리는 외부 쿼리의 속성과 값을 참조하지 않을 수 있습니다.

쿼리 기간 제한 은 하위 쿼리가 있는 쿼리에 적용됩니다.즉, 모든 하위 쿼리와 외부 쿼리는 기간 제한 내에서 실행을 완료해야 합니다.

하위 쿼리가 반환할 수 있는 최대 결과 수는 LIMIT MAX 과 동일합니다(2,000). 해당 제한을 초과하면 불완전한 결과가 발생할 수 있으며 "하위 쿼리가 최대 결과 구성원 제한에 도달하여 불완전한 결과를 초래할 수 있습니다."라는 오류 메시지가 표시될 수 있습니다.

하위 쿼리 대 중첩 집계

비슷해 보이지만 하위 쿼리를 중첩된 집계 와 혼동해서는 안 됩니다. 중첩된 쿼리의 결과 집계를 허용합니다. 중첩 집계는 FROM 절에서 사용되는 반면 하위 쿼리는 SELECT 문과 WHERE 절에서 사용됩니다.

제한 사항

  • 하위 쿼리는 NRQL 경고 조건에서 지원되지 않습니다.하위 쿼리가 있는 쿼리는 데이터를 여러 번 통과해야 하므로 하위 쿼리는 스트리밍 경고와 호환되지 않습니다.
  • 쿼리가 여러 결과 집합을 반환하도록 하는 TIMESERIESCOMPARE WITH 절은 하위 쿼리에서 지원되지 않습니다.
  • 하위 쿼리는 FACET 절에 나타날 수 없지만 FACET CASES 에서 사용되는 WHERE 절에는 나타날 수 있습니다.
  • 결과 수에 제한 이 있습니다.

예제 하위 쿼리

다음은 몇 가지 예제 하위 쿼리입니다.

Copyright © 2023 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.