- Esquemas:
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: |
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, |
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 |
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 |
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_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 |
OWNER_ROLE_TYPE |
TEXT |
O tipo de função que possui o objeto, |
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.