- Esquemas:
Exibição QUERY_ATTRIBUTION_HISTORY¶
Esta exibição Account Usage pode ser usada para determinar o custo de computação de uma determinada consulta executada em warehouses em sua conta nos últimos 365 dias (1 ano).
Para obter mais informações, consulte Custo de atributos para consultas.
Colunas¶
Nome da coluna |
Tipo de dados |
Descrição |
---|---|---|
|
VARCHAR |
Identificador interno/gerado pelo sistema para a instrução SQL. |
|
VARCHAR |
ID de consulta da consulta pai ou NULL se a consulta não tiver um pai. |
|
VARCHAR |
ID de consulta da consulta mais alta na cadeia ou NULL se a consulta não tiver um pai. |
|
NUMBER |
Identificador interno/gerado pelo sistema para o warehouse no qual a consulta foi executada. |
|
VARCHAR |
Nome do warehouse em que a consulta foi executada. |
|
VARCHAR |
O valor de hash calculado com base no texto canônico SQL. |
|
VARCHAR |
O valor de hash calculado com base na consulta parametrizada. |
|
VARCHAR |
Tag de consulta definida para esta instrução pelo parâmetro de sessão QUERY_TAG. |
|
VARCHAR |
Usuário que emitiu a consulta. |
|
TIMESTAMP_LTZ |
Hora em que a execução da consulta começou (no fuso horário local). |
|
TIMESTAMP_LTZ |
Hora em que a execução da consulta terminou (no fuso horário local). |
|
NUMBER |
Número de créditos atribuídos a esta consulta. Inclui apenas o uso de crédito para a execução da consulta e não inclui nenhum tempo ocioso do warehouse. |
|
NUMBER |
Número de créditos consumidos pelo Query Acceleration Service para acelerar a consulta. NULL se a consulta não for acelerada. . . O custo total para uma consulta acelerada é a soma desta coluna e da coluna |
Notas de uso¶
A latência para essa exibição pode ser de até seis horas.
Esta exibição mostra resultados para qualquer função que tenha sido concedida a função de banco de dados USAGE_VIEWER ou GOVERNANCE_VIEWER.
O valor na coluna
credits_attributed_compute
contém o uso de crédito do warehouse para executar a consulta, incluindo qualquer redimensionamento e/ou dimensionamento automático de warehouse(s) de múltiplos clusters. Esse custo é atribuído com base na média ponderada do consumo de recurso.O valor não inclui nenhum uso de crédito por tempo ocioso do warehouse. O tempo ocioso é um período em que nenhuma consulta está em execução no warehouse e pode ser medido no nível do warehouse.
O valor não inclui nenhum outro uso de crédito incorrido como resultado da execução da consulta. Por exemplo, os seguintes itens não estão incluídos no custo da consulta:
Custos de transferência de dados
Custos de armazenamento
Custos dos serviços de nuvem
Custos para recursos sem servidor
Custos para tokens processados por serviços de AI
Para consultas executadas simultaneamente, o custo do warehouse é atribuído a consultas individuais com base na média ponderada do consumo de recursos durante um determinado intervalo de tempo.
Consultas de curta duração (<= ~100 ms) são atualmente muito curtas para atribuição de custo por consulta e não são incluídas na exibição.
Os dados para todas as colunas estarão disponíveis a partir de meados de agosto de 2024. Alguns dados anteriores a esta data podem estar disponíveis na exibição, mas podem estar incompletos.
Exemplos¶
Custos de consulta para o usuário atual¶
Para determinar os custos das consultas executadas pelo usuário atual no mês atual, execute a seguinte instrução:
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;
Para atribuir o custo do warehouse ao usuário atual, consulte Atribuição de custo de warehouse baseada no usuário.
Custos de consulta para procedimentos armazenados¶
Para procedimentos armazenados que emitem várias consultas hierárquicas, você pode calcular os custos de consulta atribuídos para o procedimento usando o ID de consulta raiz para o procedimento.
Para encontrar o ID de consulta raiz de um procedimento armazenado, use o Exibição ACCESS_HISTORY. Por exemplo, para encontrar o ID de consulta raiz de um procedimento armazenado, defina o
query_id
e execute as seguintes instruções: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;
Para obter mais informações, consulte Exemplo: consultas antigas com procedimentos armazenados.
Para somar o custo da consulta para todo o procedimento, substitua
<root_query_id>
e execute as seguintes instruções: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);
Exemplos adicionais¶
Para obter mais exemplos, consulte Atribuição de custos por tag, usuário e consulta.