• /
  • EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

サブクエリを使用して複数のクエリをリンクする

NRQL を使用すると、別のクエリ内にネストされたクエリであるsubqueryを実行できます。 サブクエリは、別のクエリ内にネストされた 1 つのクエリです。サブクエリを使用すると、あるクエリの結果を別のクエリで使用できます。 サブクエリを使用すると、次のことが可能になります。

  • 親エンティティの子エンティティで計算を実行します
  • インフラストラクチャエージェントのCPU使用率に基づいて、CPU負荷が高いホストのエラーログを参照してください

NRQL では、 SELECTステートメントとWHERE句でサブクエリを使用できます。

平均以上の期間のトランザクションの数を取得するためのクエリの例を次に示します。

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

サブクエリの結果は、コンテキストで意味をなす必要があります。上記の例では、 WHERE句の大なり条件には、単一の値を返すサブクエリが必要です。一連の値を返すサブクエリ ( uniques()サブクエリなど) は失敗します。

1 つのサブクエリを別のサブクエリの中にネストすることもできます。 NRQL では、単一のクエリ内で、ネストされているかどうかに関係なく、最大 3 つのサブクエリが許可されます。

SINCE / UNTILで明示的に指定しない限り、サブクエリの時間範囲は外側のクエリの時間範囲と同じになります。 ダッシュボードでタイムピッカーからウィンドウを選択すると、サブクエリの時間範囲が外側のクエリの時間範囲に合わせられます。 そのチャートにIgnore Time Pickerを設定した場合、サブクエリの時間範囲と外側のクエリの時間範囲は同じになりません。

サブクエリの実行

クエリの実行中、各サブクエリは独立して実行され、その結果は外部クエリの定数値または値のセットとして使用されます。 この実行モデルにより、サブクエリは外部クエリの属性と値を参照できない場合があります。

クエリ期間の制限は、サブクエリを含むクエリに対して適用されます。これは、すべてのサブクエリと外部クエリが期間制限内に実行を完了する必要があることを意味します。

サブクエリが返す結果の最大数は、 LIMIT MAXと同じ 5,000 です。 この制限を超えると、結果が不完全になり、エラーメッセージ「サブクエリが結果メンバーの最大制限に達した可能性があるため、不完全な結果が発生する可能性があります。」が表示される可能性があります。

サブクエリとネストされた集計

サブクエリは似ているように見えますが、ネストされたクエリの結果を集計できるネストされた集計とは異なります。 ネストされた集計はFROM句で使用され、サブクエリはSELECTステートメントとWHERE句で使用されます。

制限

  • サブクエリは、 NRQLアラート条件またはイベント メトリック (E2M) ルールではサポートされていません。 サブクエリを含むクエリではデータを複数回渡す必要があるため、サブクエリはストリーミング アラートやストリーミング データ処理に基づくその他の製品と互換性がありません。
  • クエリが複数の結果セットを返す原因となるTIMESERIES句とCOMPARE WITH句は、サブクエリではサポートされていません。
  • サブクエリはFACET句には表示できませんが、 FACET CASESで使用されるWHERE句には表示できます。
  • 結果の数に制限があります

サブクエリの例

サブクエリの例を次に示します。

Copyright © 2024 New Relic株式会社。

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