• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

NRQLサブクエリ

NRQLを使用すると、別のクエリ内にネストされたクエリであるサブクエリを実行できます。

サブクエリの基本

サブクエリは、別のクエリ内にネストされたクエリです。サブクエリを使用すると、あるクエリの結果を別のクエリで使用できます。サブクエリで実行できることの例:

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

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

サブクエリの例

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

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

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

サブクエリは、別のサブクエリ内にネストできます。クエリでは、ネストされているかどうかに関係なく、最大3つのサブクエリを使用できます。

サブクエリの時間範囲は、 SINCE / UNTILで明示的に指定されていない限り、外側のクエリと同じになります。ダッシュボードで、 タイム ピッカーからウィンドウを選択すると、サブクエリの時間範囲が外部クエリの時間範囲に合わせられます。そのグラフに [時間ピッカーを無視]を設定した場合、サブクエリの時間範囲と外部クエリの時間範囲は同じではありません。

サブクエリの実行

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

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

サブクエリが返すことができる結果の最大数は、 LIMIT MAXの値と同じ : 2,000 です。その制限を超えると、結果が不完全になり、次のエラー メッセージが表示される場合があります。

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

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

制限

  • サブクエリは、NRQLアラート条件ではサポートされていません。サブクエリを使用するクエリでは、データに対して複数のパスを作成する必要があるため、サブクエリはストリーミングアラートと互換性がありません。
  • クエリが複数の結果セットを返す原因となるTIMESERIES句とCOMPARE 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.