Esquemas:

ACCOUNT_USAGE , READER_ACCOUNT_USAGE

Exibição QUERY_HISTORY

Esta exibição do Account Usage pode ser usada para consultar o histórico de consultas do Snowflake por várias dimensões (intervalo de tempo, sessão, usuário, warehouse etc.) nos últimos 365 dias (1 ano).

A exibição está disponível tanto nos esquemas ACCOUNT_USAGE como READER_ACCOUNT_USAGE com as seguintes diferenças:

  • A coluna seguinte está disponível somente na exibição da conta do leitor:

    • READER_ACCOUNT_NAME

  • As seguintes colunas não são fornecidas na exibição da conta do leitor:

    • QUERY_ACCELERATION_BYTES_SCANNED

    • QUERY_ACCELERATION_PARTITIONS_SCANNED

    • QUERY_ACCELERATION_UPPER_LIMIT_SCALE_FACTOR

Consulte também:

QUERY_HISTORY , QUERY_HISTORY_BY_* (função de tabela do Information Schema) Monitoramento da atividade de consulta com o Histórico de consultas (painel de controle do Snowsight)

Colunas

Nome da coluna

Tipo de dados

Descrição

READER_ACCOUNT_NAME

TEXT

Nome da conta do leitor na qual a instrução SQL foi executada.

QUERY_ID

TEXT

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

QUERY_TEXT

TEXT

Texto da instrução SQL. O limite é de 100 mil caracteres. As instruções SQL contendo mais de 100 mil caracteres serão truncadas.

DATABASE_ID

NUMBER

Identificador interno/gerado pelo sistema para o banco de dados que estava em uso.

DATABASE_NAME

TEXT

Banco de dados especificado no contexto da consulta na compilação.

SCHEMA_ID

NUMBER

Identificador interno/gerado pelo sistema para o esquema que estava em uso.

SCHEMA_NAME

TEXT

Esquema especificado no contexto da consulta na compilação.

QUERY_TYPE

TEXT

DML, consulta etc. Se a consulta tiver falhado, o tipo de consulta pode ser UNKNOWN.

SESSION_ID

NUMBER

Sessão que executou a instrução.

USER_NAME

TEXT

Usuário que emitiu a consulta.

ROLE_NAME

TEXT

Função que estava ativa na sessão no momento da consulta.

WAREHOUSE_ID

NUMBER

Identificador interno/gerado pelo sistema do warehouse que foi utilizado.

WAREHOUSE_NAME

TEXT

Warehouse em que a consulta foi executada, se houver.

WAREHOUSE_SIZE

TEXT

Tamanho do warehouse quando esta instrução foi executada.

WAREHOUSE_TYPE

TEXT

Tipo do warehouse quando esta instrução foi executada.

CLUSTER_NUMBER

NUMBER

O cluster (em um warehouse multicluster) no qual esta instrução foi executada.

QUERY_TAG

TEXT

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

EXECUTION_STATUS

TEXT

Status de execução da consulta. Valores válidos: success, fail, incident.

ERROR_CODE

NUMBER

Código de erro, se a consulta tiver retornado um erro

ERROR_MESSAGE

TEXT

Mensagem de erro, se a consulta tiver retornado um erro

START_TIME

TIMESTAMP_LTZ

Hora de início da instrução (no fuso horário local)

END_TIME

TIMESTAMP_LTZ

Hora de término da instrução (no fuso horário local).

TOTAL_ELAPSED_TIME

NUMBER

Tempo transcorrido (em milissegundos).

BYTES_SCANNED

NUMBER

Número de bytes digitalizados por esta instrução.

PERCENTAGE_SCANNED_FROM_CACHE

FLOAT

A porcentagem de dados escaneados a partir do cache de disco local. O valor varia de 0,0 a 1,0. Multiplique por 100 para obter uma porcentagem verdadeira.

BYTES_WRITTEN

NUMBER

Número de bytes escritos (por exemplo, ao carregar em uma tabela).

BYTES_WRITTEN_TO_RESULT

NUMBER

Número de bytes gravados em um objeto de resultado. Por exemplo, select * from . . . produziria um conjunto de resultados em formato tabular representando cada campo na seleção. . . Em geral, o objeto de resultado representa o que for produzido como resultado da consulta, e BYTES_WRITTEN_TO_RESULT representa o tamanho do resultado retornado.

BYTES_READ_FROM_RESULT

NUMBER

Número de bytes lidos de um objeto resultado.

ROWS_PRODUCED

NUMBER

Número de linhas produzidas por esta instrução.

ROWS_INSERTED

NUMBER

Número de linhas inseridas pela consulta.

ROWS_UPDATED

NUMBER

Número de linhas atualizadas pela consulta.

ROWS_DELETED

NUMBER

Número de linhas excluídas pela consulta.

ROWS_UNLOADED

NUMBER

Número de linhas descarregadas durante a exportação de dados.

BYTES_DELETED

NUMBER

Número de bytes excluídos pela consulta.

PARTITIONS_SCANNED

NUMBER

Número de micropartições escaneadas.

PARTITIONS_TOTAL

NUMBER

Total de micropartições de todas as tabelas incluídas nesta consulta.

BYTES_SPILLED_TO_LOCAL_STORAGE

NUMBER

Volume de dados despejados em disco local.

BYTES_SPILLED_TO_REMOTE_STORAGE

NUMBER

Volume de dados despejados em disco remoto.

BYTES_SENT_OVER_THE_NETWORK

NUMBER

Volume de dados enviados pela rede.

COMPILATION_TIME

NUMBER

Tempo de compilação (em milissegundos)

EXECUTION_TIME

NUMBER

Tempo de execução (em milissegundos)

QUEUED_PROVISIONING_TIME

NUMBER

Tempo (em milissegundos) gasto na fila do warehouse, esperando que o warehouse compute recursos para provisionar, devido à criação, retomada ou redimensionamento do warehouse.

QUEUED_REPAIR_TIME

NUMBER

Tempo (em milissegundos) gasto na fila do warehouse, esperando que os recursos computados no warehouse sejam reparados.

QUEUED_OVERLOAD_TIME

NUMBER

Tempo (em milissegundos) gasto na fila de espera do warehouse, devido à sobrecarga do warehouse devido à carga de trabalho atual da consulta.

TRANSACTION_BLOCKED_TIME

NUMBER

Tempo (em milissegundos) gasto bloqueado por um DML concorrente.

OUTBOUND_DATA_TRANSFER_CLOUD

TEXT

Provedor de nuvem de destino para instruções que descarregam dados para outra região e/ou nuvem.

OUTBOUND_DATA_TRANSFER_REGION

TEXT

Região de destino para instruções que descarregam dados para outra região e/ou nuvem.

OUTBOUND_DATA_TRANSFER_BYTES

NUMBER

Número de bytes transferidos em instruções que descarregam dados para outra região e/ou nuvem.

INBOUND_DATA_TRANSFER_CLOUD

TEXT

Provedor de nuvem de origem para instruções que carregam dados de outra região e/ou nuvem.

INBOUND_DATA_TRANSFER_REGION

TEXT

Região de origem para instruções que carregam dados de outra região e/ou nuvem.

INBOUND_DATA_TRANSFER_BYTES

NUMBER

Número de bytes transferidos em uma operação de replicação de outra conta. A conta de origem pode estar na mesma região ou em uma região diferente da conta atual.

LIST_EXTERNAL_FILES_TIME

NUMBER

Tempo (em milissegundos) gasto listando arquivos externos.

CREDITS_USED_CLOUD_SERVICES

NUMBER

Número de créditos usados para serviços de nuvem. Este valor não leva em conta o ajuste para serviços de nuvem e, por isso, pode ser maior do que os créditos que são faturados. Para determinar quantos créditos foram realmente cobrados, execute consultas na exibição METERING_DAILY_HISTORY.

RELEASE_VERSION

TEXT

Versão de lançamento no formato de major_release.minor_release.patch_release.

EXTERNAL_FUNCTION_TOTAL_INVOCATIONS

NUMBER

O número agregado de vezes que esta consulta chamou serviços remotos. Para obter detalhes importantes, consulte as Notas de uso.

EXTERNAL_FUNCTION_TOTAL_SENT_ROWS

NUMBER

O número total de linhas que esta consulta enviou em todas as chamadas para todos os serviços remotos.

EXTERNAL_FUNCTION_TOTAL_RECEIVED_ROWS

NUMBER

O número total de linhas que esta consulta recebeu de todas as chamadas para todos os serviços remotos.

EXTERNAL_FUNCTION_TOTAL_SENT_BYTES

NUMBER

O número total de bytes que esta consulta enviou em todas as chamadas para todos os serviços remotos.

EXTERNAL_FUNCTION_TOTAL_RECEIVED_BYTES

NUMBER

O número total de bytes que esta consulta recebeu de todas as chamadas para todos os serviços remotos.

QUERY_LOAD_PERCENT

NUMBER

A porcentagem aproximada de recursos de computação ativos no warehouse para a execução desta consulta.

IS_CLIENT_GENERATED_STATEMENT

BOOLEAN

Indica se a consulta foi gerada pelo cliente.

QUERY_ACCELERATION_BYTES_SCANNED

NUMBER

Número de bytes digitalizados por Query Acceleration Service.

QUERY_ACCELERATION_PARTITIONS_SCANNED

NUMBER

Número de partições digitalizadas por Query Acceleration Service.

QUERY_ACCELERATION_UPPER_LIMIT_SCALE_FACTOR

NUMBER

Fator de escala no limite superior do qual uma consulta teria se beneficiado.

TRANSACTION_ID

NUMBER

ID da transação que contém a instrução ou 0 se a instrução não for executada dentro de uma transação.

CHILD_QUERIES_WAIT_TIME

NUMBER

Tempo (em milissegundos) para completar a pesquisa em cache ao chamar uma função memoizável.

ROLE_TYPE

VARCHAR

Especifica um APPLICATION, DATABASE_ROLE ou ROLE que executou a consulta.

QUERY_HASH

TEXT

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

QUERY_HASH_VERSION

NUMBER

A versão da lógica usada para calcular QUERY_HASH.

QUERY_PARAMETERIZED_HASH

TEXT

O valor de hash calculado com base na consulta parametrizada.

QUERY_PARAMETERIZED_HASH_VERSION

NUMBER

A versão da lógica usada para calcular QUERY_PARAMETERIZED_HASH.

OWNER_ROLE_TYPE

TEXT

O tipo de função que possui o objeto, ROLE ou DATABASE_ROLE. . Se um Snowflake Native App possuir o objeto, o valor será APPLICATION. . Snowflake retornará NULL se você excluir o objeto porque um objeto excluído não tem função de proprietário.

Notas de uso

Geral

  • A latência da visualização pode ser de até 45 minutos.

  • Os valores para as colunas EXTERNAL_FUNCTION_TOTAL_INVOCATIONS, EXTERNAL_FUNCTION_TOTAL_SENT_ROWS, EXTERNAL_FUNCTION_TOTAL_RECEIVED_ROWS, EXTERNAL_FUNCTION_TOTAL_SENT_BYTES e EXTERNAL_FUNCTION_TOTAL_RECEIVED_BYTES são afetados por muitos fatores, inclusive:

    • O número de funções externas na instrução SQL.

    • O número de linhas por lote enviadas para cada serviço remoto.

    • O número de tentativas devido a erros transitórios (por exemplo, porque uma resposta não foi recebida dentro do tempo esperado).

Tabelas híbridas

A orientação a seguir refere-se à execução de consultas em tabelas híbridas ao usar exibições QUERY_HISTORY.

  • Consultas de curta duração que operam exclusivamente em tabelas híbridas não gerarão mais um registro nesta exibição ou QUERY_HISTORY (função de tabela do Information Schema). Para monitorar essas consultas, use AGGREGATE_QUERY_HISTORY. Essa exibição permite monitorar mais facilmente cargas de trabalho operacionais de alto rendimento em busca de tendências e problemas.

  • Consultas de curta duração que operam exclusivamente em tabelas híbridas também não fornecerão mais um perfil de consulta que você possa inspecionar no Snowsight.

  • Consultas em tabelas híbridas geram um registro na exibição QUERY_HISTORY e um Perfil de consulta se alguma das seguintes condições for atendida:

    • Uma consulta é executada em qualquer tipo de tabela que não seja tabelas híbridas. Essa condição garante que não haja alteração de comportamento para cargas de trabalho não Unistore existentes.

    • Uma consulta falha com um EXECUTION_STATUS de failed_with_incident (consulte QUERY_HISTORY). Essa condição garante que você possa investigar e relatar a consulta específica com falha para receber assistência.

    • Uma consulta está sendo executada por mais de aproximadamente 500 milissegundos. Essa condição garante que você possa investigar problemas de desempenho em consultas lentas.

    • O tamanho do resultado da consulta é muito grande.

    • Uma consulta está associada a uma transação Snowflake.

    • Uma consulta contém uma função do sistema com efeitos colaterais.

    • Uma consulta não é um dos seguintes tipos de instrução: SELECT, INSERT, DELETE, UPDATE, MERGE.

    • Uma consulta é executada em SnowSQL, Snowsight ou Console clássico. Essa condição garante que você possa gerar manualmente um perfil de consulta completo para investigar problemas de desempenho de qualquer consulta específica, mesmo que ela não seja categorizada como de longa duração.

    • Mesmo que uma consulta não atenda a nenhum critério acima, as consultas também podem ser amostradas periodicamente para gerar um registro na exibição QUERY_HISTORY e um Perfil de consulta para ajudar na sua investigação.