Esquemas:

ACCOUNT_USAGE

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

query_id

VARCHAR

Identificador interno/gerado pelo sistema para a instrução SQL.

parent_query_id

VARCHAR

ID de consulta da consulta pai ou NULL se a consulta não tiver um pai.

root_query_id

VARCHAR

ID de consulta da consulta mais alta na cadeia ou NULL se a consulta não tiver um pai.

warehouse_id

NUMBER

Identificador interno/gerado pelo sistema para o warehouse no qual a consulta foi executada.

warehouse_name

VARCHAR

Nome do warehouse em que a consulta foi executada.

query_hash

VARCHAR

O valor de hash calculado com base no texto canônico SQL.

query_parameterized_hash

VARCHAR

O valor de hash calculado com base na consulta parametrizada.

query_tag

VARCHAR

Tag de consulta definida para esta instrução pelo parâmetro de sessão QUERY_TAG.

user_name

VARCHAR

Usuário que emitiu a consulta.

start_time

TIMESTAMP_LTZ

Hora em que a execução da consulta começou (no fuso horário local).

end_time

TIMESTAMP_LTZ

Hora em que a execução da consulta terminou (no fuso horário local).

credits_attributed_compute

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.

credits_used_query_acceleration

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 credits_attributed_compute.

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;
Copy

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.

  1. 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;
    
    Copy

    Para obter mais informações, consulte Exemplo: consultas antigas com procedimentos armazenados.

  2. 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);
    
    Copy

Exemplos adicionais

Para obter mais exemplos, consulte Atribuição de custos por tag, usuário e consulta.