• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

Utiliser des sous-requêtes pour lier plusieurs requêtes

Avec NRQL, vous pouvez exécuter un subquery, qui est une requête imbriquée dans une autre requête. Une sous-requête est une requête imbriquée dans une autre requête : elle vous permet d'utiliser le résultat d'une requête dans une autre requête. Avec les sous-requêtes, vous pouvez :

  • Effectuer des calculs sur l'entité enfant d'une entité mère
  • Consultez les logs des erreurs pour les hôtes avec une charge CPU élevée en fonction de l'utilisation du processeur de l'agent infrastructure

Dans NRQL, les sous-requêtes peuvent apparaître dans l'instruction SELECT et la clause WHERE .

Voici un exemple de requête permettant d'obtenir le nombre de transactions ayant une durée supérieure à la moyenne :

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

Les résultats d’une sous-requête doivent avoir du sens dans le contexte. Dans l'exemple ci-dessus, la condition supérieure à dans la clause WHERE nécessite une sous-requête qui renvoie une valeur unique. Une sous-requête qui renvoie un ensemble de valeurs (par exemple une sous-requête uniques() ) échouerait.

Vous pouvez également imbriquer une sous-requête dans une autre sous-requête. NRQL autorise un maximum de trois sous-requêtes, imbriquées ou non, dans une seule requête.

La plage horaire de la sous-requête sera la même que celle de la requête externe, sauf spécification explicite avec SINCE/UNTIL. Dans un dashboard, le choix d'une fenêtre à partir du sélecteur d'intervalle de temps aligne la plage horaire de la sous-requête avec celle de la requête externe. Si vous avez défini Ignore Time Picker pour ce graphique, la plage horaire de la sous-requête et la plage horaire de la requête externe ne seront pas les mêmes.

Exécution de sous-requête

Lors de l'exécution de la requête, chaque sous-requête s'exécute indépendamment et son résultat est utilisé comme valeur constante ou ensemble de valeurs dans la requête externe. En raison de ce modèle d'exécution, les sous-requêtes ne peuvent pas référencer les attributs et les valeurs de la requête externe.

La limite de durée de requête est respectée pour les requêtes avec sous-requêtes. Cela signifie que toutes les sous-requêtes et la requête externe doivent terminer leur exécution dans la limite de durée.

Le nombre maximal de résultats qu'une sous-requête peut renvoyer est le même que la valeurLIMIT MAX : 5 000. Lorsque cette limite est dépassée, cela peut entraîner des résultats incomplets et ce message d'erreur : « La sous-requête a peut-être atteint la limite maximale de membres de résultats, ce qui peut entraîner un résultat incomplet. »

Sous-requêtes et agrégation imbriquée

Bien qu'elles semblent similaires, les sous-requêtes sont différentes des agrégations imbriquées, qui permettent l'agrégation du résultat d'une requête imbriquée. Les agrégations imbriquées sont utilisées dans la clause FROM , tandis que les sous-requêtes sont utilisées dans l'instruction SELECT et la clause WHERE .

Limites

  • Les sous-requêtes ne sont pas prises en charge dans les règles NRQL condition d'alerte ou événement to métriques (E2M). Étant donné que les requêtes avec sous-requêtes nécessitent d'effectuer plusieurs passages sur les données, les sous-requêtes sont incompatibles avec les alertes en streaming ou d'autres produits basés sur le traitement en streaming des données.
  • Les clauses TIMESERIES et COMPARE WITH , qui obligent la requête à renvoyer plusieurs ensembles de résultats, ne sont pas prises en charge dans les sous-requêtes.
  • Les sous-requêtes ne peuvent pas apparaître dans la clause FACET , bien qu'elles puissent apparaître dans les clauses WHERE utilisées dans FACET CASES.
  • A des limites sur le nombre de résultats

Exemples de sous-requêtes

Voici quelques exemples de sous-requêtes :

Droits d'auteur © 2025 New Relic Inc.

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