Schéma :

ACCOUNT_USAGE

Vue QUERY_INSIGHTS

Cette vue Utilisation du compte affiche une ligne pour chaque insight généré pour une requête.

Colonnes

Nom de la colonne

Type

Description

start_time

TIMESTAMP_LTZ

Heure de début de la requête.

end_time

TIMESTAMP_LTZ

Heure de fin de la requête.

total_elapsed_time

NUMBER

Durée totale écoulée pour la requête (en millisecondes).

query_id

VARCHAR

Identificateur interne / généré par le système pour l’instruction SQL.

query_hash

VARCHAR

La valeur de hachage calculée sur la base du texte SQL canonisé.

query_parameterized_hash

VARCHAR

La valeur de hachage calculée à partir de la requête paramétrée.

warehouse_id

VARCHAR

Identificateur interne / généré par le système pour l’entrepôt utilisé.

warehouse_name

VARCHAR

Entrepôt sur lequel la requête a été exécutée, le cas échéant.

insight_instance_id

NUMBER

Identificateur interne/généré par le système pour l’insight.

insight_type_id

VARCHAR

Identificateur du type d’information.

message

VARIANT

Informations structurées et détails sur l’insight.

suggestions

ARRAY

Tableau de chaînes, chacune contenant une action recommandée pour l’insight.

is_opportunity

BOOLEAN

Si true, l’insight comprend des suggestions pour améliorer les performances des requêtes. Par exemple :

  • Pour un insight de type ID QUERY_INSIGHT_NO_FILTER_ON_TOP_OF_TABLE_SCAN, cette colonne contient true car les insights comprennent des suggestions pour améliorer les performances.

  • Pour un insight de type ID QUERY_INSIGHT_FILTER_WITH_CLUSTERING_KEY, cette colonne contient false car les insights ne comprennent pas de suggestions pour améliorer les performances.

insight_topic

VARCHAR

Étiquette qui identifie le type d’impact sur les performances détecté par cet insight.

L’étiquette peut être l’une des suivantes :

  • TABLE_SCAN : Insights sur l’efficacité de l’accès aux tables. Cette étiquette s’applique aux types d’insights suivants :

    • QUERY_INSIGHT_NO_FILTER_ON_TOP_OF_TABLE_SCAN

    • QUERY_INSIGHT_INAPPLICABLE_FILTER_ON_TABLE_SCAN

    • QUERY_INSIGHT_UNSELECTIVE_FILTER

    • QUERY_INSIGHT_FILTER_WITH_CLUSTERING_KEY

    • QUERY_INSIGHT_SEARCH_OPTIMIZATION_USED

  • JOIN : Insights sur l’efficacité des opérations JOIN dans la requête. Cette étiquette s’applique aux types d’insights suivants :

    • QUERY_INSIGHT_JOIN_WITH_NO_JOIN_CONDITION

    • QUERY_INSIGHT_NESTED_EXPLODING_JOIN

    • QUERY_INSIGHT_EXPLODING_JOIN

  • WAREHOUSE : Insights sur l’entrepôt utilisé pour la requête. Cette étiquette s’applique aux types d’insights suivants :

    • QUERY_INSIGHT_REMOTE_SPILLAGE

Notes sur l’utilisation

  • La latence pour la vue peut aller jusqu’à 90 minutes.

Exemples

L’exemple suivant renvoie les insights relatifs à la requête dont l’ID est 01bd3a9d-0910-8327-0000-09717704c032 :

SELECT query_id, insight_type_id, message, suggestions
  FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_INSIGHTS
  WHERE query_id = '01bd3a9d-0910-8327-0000-09717704c032';
Copy

L’exemple suivant renvoie les insights relatifs aux requêtes qui ont le même hachage de texte de requête paramétré. Ces requêtes utilisent la même instruction SELECT, à l’exception des littéraux spécifiés dans l’instruction.

SELECT query_id, insight_type_id, message, suggestions
  FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_INSIGHTS
  WHERE query_parameterized_hash = '4bb66effc1a3c8b4e94a728f7caaa736';
Copy

L’exemple suivant renvoie les insights relatifs aux requêtes exécutées au cours de la semaine écoulée :

SELECT query_id, insight_type_id, message, suggestions
  FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_INSIGHTS
  WHERE start_time > TO_DATE(DATEADD(DAY, -7, CURRENT_DATE()));
Copy

L’exemple suivant renvoie les insights relatifs aux requêtes exécutées au cours de la semaine écoulée et qui ont pris plus d’une heure à s’exécuter :

SELECT query_id, insight_type_id, message, suggestions
  FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_INSIGHTS
  WHERE start_time > TO_DATE(DATEADD(DAY, -7, CURRENT_DATE()))
    AND total_duration > 3600000;
Copy

L’exemple suivant renvoie les insights relatifs aux requêtes exécutées au cours de la semaine écoulée, qui ont pris plus d’une heure à s’exécuter et qui ont utilisé l’entrepôt avec l’ID 84412315:

SELECT query_id, insight_type_id, message, suggestions
  FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_INSIGHTS
  WHERE start_time > TO_DATE(DATEADD(DAY, -7, CURRENT_DATE()))
    AND total_duration > 3600000
    AND warehouse_id = 84412315;
Copy