• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

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

문제 신고

하위 쿼리 조인을 사용하여 쿼리 결합

뉴렐릭에 저장된 대부분의 데이터는 TransactionTransactionError, PageViewPageAction, Log 및 인프라 이벤트 등과 같은 다른 데이터와 관련이 있습니다. 하위 쿼리 조인을 사용하여 이러한 이벤트 간의 상관 관계를 분석하고 계산할 수 있습니다.

하위 쿼리 조인을 작성하는 방법

하위 쿼리 는 다른 쿼리 안에 중첩된 쿼리입니다. 하위 쿼리 조인을 사용하면 하위 쿼리의 결과를 키를 기반으로 하는 외부 쿼리의 결과와 결합하여 데이터 집합 전체에서 분석 및 보강이 가능합니다.

하위 쿼리 조인에는 세 가지 구성 요소, 즉 두 개의 데이터 세트와 이 둘을 함께 연결하는 기본 키가 필요합니다.

FROM Event [INNER|LEFT] JOIN (subquery) ON [key =] key SELECT ...

하위 쿼리 조인에는 구문에 대한 간단한 규칙이 포함되어 있습니다.

  • JOIN 절은 항상 FROM 절 바로 뒤에 와야 합니다.
  • 조인 유형을 JOIN 앞에 붙일 수 있습니다. INNER 또는 LEFT 는 선택사항이며 생략되면 기본값은 INNER 입니다.
  • 하위 쿼리가 포함된 괄호는 JOIN 절 바로 뒤에 와야 합니다.
  • ON 절은 하위 쿼리 바로 뒤에 있어야 하며 두 가지 형식을 갖습니다(자세한 내용은 아래 참조).

하나의 쿼리에 여러 개의 JOIN 절이 있을 수도 있습니다. 예를 들어 이 쿼리는 하위 쿼리 내에서 두 개의 JOIN을 사용합니다.

FROM JavaScriptError
JOIN (
FROM PageAction
JOIN (
FROM PageView SELECT count(*) FACET session as pageViewSession, city
LIMIT MAX
) ON session = pageViewSession
SELECT count(*) FACET city, currentUrl, session as pageActionSession
) ON session = pageActionSession
SELECT count(*) FACET city, currentUrl, session, errorClass

아래 이미지에는 2개의 데이터 세트, 즉 디스플레이 컨테이너(ProcessSample)의 평균 CPU 비율과 컨트롤러별 앱의 평균 기간이 포함되어 있습니다.

종종 다양한 소스의 데이터가 상호 연관되어 있습니다. 이 경우 다음 하위 쿼리 조인을 사용하여 컨테이너의 높은 CPU 사용량으로 인해 트랜잭션 속도가 느려지는지 확인할 수 있습니다.

FROM Transaction
JOIN (FROM ProcessSample SELECT average(cpuPercent) AS cpu
FACET containerId LIMIT MAX) ON containerId
SELECT average(duration)/latest(cpu) FACET containerId, containerName

이 쿼리를 사용하면 CPU 사용량에 따라 평균 트랜잭션 기간이 더 긴 컨테이너를 볼 수 있고 이상값을 조사하여 수정해야 할 버그나 최적화가 있는지 확인할 수 있습니다.

하위 쿼리 조인 제한

하위 쿼리 조인에는 다음과 같은 제한 사항이 있습니다.

  • 조인된 하위 쿼리는 계속해서 기본 LIMIT 10을 가지며 최대 LIMIT 는 5,000입니다. 외부 쿼리의 LIMIT 는 내부 쿼리에 영향을 주지 않습니다.
  • 조인된 하위 쿼리에서 TIMESERIES 사용은 지원되지 않습니다. 외부 쿼리가 TIMESERIES사용하는 경우 조인된 하위 쿼리는 전체 쿼리 시간 범위에 대해 단일 결과를 제공한다는 점에 유의하세요.
  • 조인된 하위 쿼리에서 COMPARE WITH 사용은 지원되지 않습니다. 외부 쿼리가 COMPARE WITH를 사용하는 경우 조인된 하위 쿼리는 쿼리 기본 시간 범위를 기반으로 단일 결과를 제공하고 시간 범위와 비교하여 외부 쿼리에 대해 별도의 값을 제공하지 않는다는 점에 유의하십시오.
  • 모든 하위 쿼리와 마찬가지로 조인된 하위 쿼리는 경고 조건에서 사용할 수 없습니다.
  • SELECT *는 상위 쿼리에서는 지원되지만 조인된 하위 쿼리에서는 지원되지 않습니다.
  • 조인의 카디널리티는 1:100으로 제한되며, 이는 단일 조인 키가 하위 쿼리 결과에서 100개 이상의 행에 매핑될 수 없음을 의미합니다.
  • ON 절은 동등 조건만 지원합니다.
  • JOIN 키는 지표 값과 같은 복잡한 속성일 수 없습니다.
  • JOIN 조건에서는 속성 유형을 강제로 적용하지 않습니다. JOINON 조건의 왼쪽은 ON 조건의 오른쪽과 동일한 유형이어야 합니다.
  • 지표 와일드카드는 JOINON 조건에서 지원되지 않습니다.
  • 하위 쿼리는 메트릭 행별 쿼리일 수 없습니다.
  • JOIN ON 조건의 오른쪽은 쿼리에 의해 투영된 식별자여야 합니다. 함수나 수학 연산을 사용할 수 없습니다.
  • 조인된 하위 쿼리는 uniques() 결과를 예상할 수 없습니다.

하위 쿼리 조인 예

다음은 몇 가지 하위 쿼리 조인의 예입니다.

Copyright © 2024 New Relic Inc.

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