- Schémas :
Vue QUERY_ATTRIBUTION_HISTORY¶
Cette vue Account Usage peut être utilisée pour déterminer le coût de calcul d’une requête donnée exécutée sur les entrepôts de votre compte au cours des 365 derniers jours (1 an).
Pour plus d’informations, voir Coût des attributs pour les requêtes.
Colonnes¶
Nom de la colonne |
Type de données |
Description |
---|---|---|
|
VARCHAR |
Identificateur interne / généré par le système pour l’instruction SQL. |
|
VARCHAR |
L’ID de requête de la requête parente ou NULL si la requête n’a pas de parent. |
|
VARCHAR |
L’ID de requête de la requête la plus élevée de la chaîne ou NULL si la requête n’a pas de parent. |
|
NUMBER |
Identificateur interne/généré par le système pour l’entrepôt sur lequel la requête a été exécutée. |
|
VARCHAR |
Nom de l’entrepôt sur lequel la requête a été exécutée. |
|
VARCHAR |
La valeur de hachage calculée sur la base du texte SQL canonisé. |
|
VARCHAR |
La valeur de hachage calculée à partir de la requête paramétrée. |
|
VARCHAR |
Balise de requête définie pour cette instruction via le paramètre de session QUERY_TAG. |
|
VARCHAR |
Utilisateur qui a émis la requête. |
|
TIMESTAMP_LTZ |
Heure à laquelle l’exécution de la requête a commencé (dans le fuseau horaire local). |
|
TIMESTAMP_LTZ |
Heure à laquelle l’exécution de la requête s’est terminée (dans le fuseau horaire local). |
|
NUMBER |
Nombre de crédits attribués à cette requête. Inclut uniquement l’utilisation du crédit pour l’exécution de la requête et n’inclut pas le temps d’inactivité de l’entrepôt. |
|
NUMBER |
Nombre de crédits consommés par Query Acceleration Service pour accélérer la requête. NULL si la requête n’est pas accélérée. . . Le coût total d’une requête accélérée est la somme de cette colonne et de la colonne |
Notes sur l’utilisation¶
La latence pour cette vue peut aller jusqu’à six heures.
Cette vue affiche les résultats pour tout rôle disposant du rôle de base de données USAGE_VIEWER ou GOVERNANCE_VIEWER.
La valeur de la colonne
credits_attributed_compute
contient l’utilisation du crédit d’entrepôt pour l’exécution de la requête, y compris tout redimensionnement et/ou mise à l’échelle automatique des entrepôts à plusieurs clusters. Ce coût est attribué en fonction de la moyenne pondérée de la consommation des ressources.La valeur n’inclut aucune utilisation du crédit pour le temps d’inactivité de l’entrepôt. Le temps d’inactivité est une période pendant laquelle aucune requête ne s’exécute dans l’entrepôt et ne peut être mesurée au niveau de l’entrepôt.
La valeur n’inclut aucune autre utilisation du crédit encourue suite à l’exécution de la requête. Par exemple, les éléments suivants ne sont pas inclus dans le coût de la requête :
Coûts du transfert des données
Coûts de stockage
Coûts des services Cloud
Coûts des fonctionnalités sans serveur
Coûts des jetons traités par les services AI
Pour les requêtes exécutées simultanément, le coût de l’entrepôt est attribué aux requêtes individuelles en fonction de la moyenne pondérée de leur consommation de ressources au cours d’un intervalle de temps donné.
Les requêtes à courte durée d’exécution (< = ~100 ms) sont actuellement trop courtes pour l’attribution des coûts par requête et ne sont pas incluses dans la vue.
Les données de toutes les colonnes sont disponibles à partir de la mi-août 2024. Certaines données antérieures à cette date peuvent être disponibles dans la vue, mais peuvent être incomplètes.
Exemples¶
Coûts des requêtes pour l’utilisateur actuel¶
Pour déterminer les coûts des requêtes exécutées par l’utilisateur actuel pour le mois en cours, exécutez l’instruction suivante :
SELECT user_name, SUM(credits_attributed_compute) AS credits
FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_ATTRIBUTION_HISTORY
WHERE user_name = CURRENT_USER()
AND start_time >= DATE_TRUNC('MONTH', CURRENT_DATE)
AND start_time < CURRENT_DATE
GROUP BY user_name;
Pour attribuer le coût de l’entrepôt à l’utilisateur actuel, voir Attribution des coûts d’entrepôt basée sur l’utilisateur.
Coûts des requêtes pour les procédures stockées¶
Pour les procédures stockées qui émettent plusieurs requêtes hiérarchiques, vous pouvez calculer les coûts de requête attribués à la procédure en utilisant l’ID de requête racine pour la procédure.
Pour trouver l’ID de requête racine pour une procédure stockée, utilisez Vue ACCESS_HISTORY. Par exemple, pour trouver l’ID de requête racine pour une procédure stockée, définissez
query_id
et exécutez les instructions suivantes :SET query_id = '<query_id>'; SELECT query_id, parent_query_id, root_query_id, direct_objects_accessed FROM SNOWFLAKE.ACCOUNT_USAGE.ACCESS_HISTORY WHERE query_id = $query_id;
Pour plus d’informations, voir Exemple : requêtes ancêtres à l’aide de procédures stockées.
Pour additionner les coûts de la requête pour l’ensemble de la procédure, remplacez
<id_requête_racine>
et exécutez les instructions suivantes :SET query_id = '<root_query_id>'; SELECT SUM(credits_attributed_compute) AS total_attributed_credits FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_ATTRIBUTION_HISTORY WHERE (root_query_id = $query_id OR query_id = $query_id);
Exemples supplémentaires¶
Pour plus d’exemples, voir Attribution des coûts par balise, utilisateur et requête.