Descrição
Contém informações sobre as VIEWs dependentes executadas durante uma consulta, por exemplo, o tipo de VIEW ou o tempo de execução.
Para começar o logging:
- Configure os parâmetros na seção query_views_log.
- Defina log_query_views como 1.
O período de flush dos dados é definido pelo parâmetro flush_interval_milliseconds na seção de configurações do servidor query_views_log. Para forçar o flush, use a consulta SYSTEM FLUSH LOGS.
O ClickHouse não exclui dados da tabela automaticamente. Consulte Introdução para mais detalhes.
Você pode usar a configuração log_queries_probability) para reduzir o número de consultas registradas na tabela query_views_log.
Colunas
hostname(LowCardinality(String)) — Hostname do servidor que executa a consulta.event_date(Date) — A data em que ocorreu o último evento da VIEW.event_time(DateTime) — A data e a hora em que a VIEW terminou a execução.event_time_microseconds(DateTime64(6)) — A data e a hora em que a VIEW terminou a execução, com precisão de microssegundos.view_duration_ms(UInt64) — Duração da execução da VIEW (soma de seus estágios), em milissegundos.initial_query_id(String) — ID da consulta inicial na mesma cadeia de consultas.view_name(String) — Nome da VIEW.view_uuid(UUID) — UUID da VIEW.view_type(Enum8('Default' = 1, 'Materialized' = 2, 'Live' = 3, 'Window' = 4)) — Tipo da VIEW. Valores: 'Default' = 1 — VIEWs padrão. Não deve aparecer neste log, 'Materialized' = 2 — VIEWs materializadas, 'Live' = 3 — visualizações em tempo real.view_query(String) — A consulta executada pela VIEW.view_target(String) — O nome da tabela de destino da VIEW.read_rows(UInt64) — Número de linhas lidas.read_bytes(UInt64) — Número de bytes lidos.written_rows(UInt64) — Número de linhas gravadas.written_bytes(UInt64) — Número de bytes gravados.peak_memory_usage(Int64) — A diferença máxima entre a quantidade de memória alocada e liberada no contexto desta VIEW.ProfileEvents(Map(LowCardinality(String), UInt64)) —ProfileEventsque medem diferentes métricas. Sua descrição pode ser encontrada na tabelasystem.events.status(Enum8('QueryStart' = 1, 'QueryFinish' = 2, 'ExceptionBeforeStart' = 3, 'ExceptionWhileProcessing' = 4)) — Status da VIEW. Valores: 'QueryStart' = 1 — Início bem-sucedido da execução da VIEW. Não deve aparecer, 'QueryFinish' = 2 — Término bem-sucedido da execução da VIEW, 'ExceptionBeforeStart' = 3 — Exceção antes do início da execução da VIEW., 'ExceptionWhileProcessing' = 4 — Exceção durante a execução da VIEW.exception_code(Int32) — Código da exceção.exception(String) — Mensagem da exceção.stack_trace(String) — Stack trace. Uma string vazia, se a consulta tiver sido concluída com sucesso.
Aliases:
ProfileEvents.Names— Alias paramapKeys(ProfileEvents).ProfileEvents.Values— Alias paramapValues(ProfileEvents).
Exemplo
SELECT * FROM system.query_views_log LIMIT 1 \G;Row 1:
──────
hostname: clickhouse.eu-central1.internal
event_date: 2021-06-22
event_time: 2021-06-22 13:23:07
event_time_microseconds: 2021-06-22 13:23:07.738221
view_duration_ms: 0
initial_query_id: c3a1ac02-9cad-479b-af54-9e9c0a7afd70
view_name: default.matview_inner
view_uuid: 00000000-0000-0000-0000-000000000000
view_type: Materialized
view_query: SELECT * FROM default.table_b
view_target: default.`.inner.matview_inner`
read_rows: 4
read_bytes: 64
written_rows: 2
written_bytes: 32
peak_memory_usage: 4196188
ProfileEvents: {'FileOpen':2,'WriteBufferFromFileDescriptorWrite':2,'WriteBufferFromFileDescriptorWriteBytes':187,'IOBufferAllocs':3,'IOBufferAllocBytes':3145773,'FunctionExecute':3,'DiskWriteElapsedMicroseconds':13,'InsertedRows':2,'InsertedBytes':16,'SelectedRows':4,'SelectedBytes':48,'ContextLock':16,'RWLockAcquiredReadLocks':1,'RealTimeMicroseconds':698,'SoftPageFaults':4,'OSReadChars':463}
status: QueryFinish
exception_code: 0
exception:
stack_trace: