Categorias:

Information Schema , Funções de tabela

MATERIALIZED_VIEW_REFRESH_HISTORY

Esta função de tabela é usada para consultar o histórico de atualização das exibições materializadas para uma exibição materializada especificada dentro de um intervalo de datas determinado. As informações retornadas pela função incluem o nome da exibição e os créditos consumidos cada vez que uma exibição materializada é atualizada.

Sintaxe

MATERIALIZED_VIEW_REFRESH_HISTORY(
      [ DATE_RANGE_START => <constant_expr> ]
      [ , DATE_RANGE_END => <constant_expr> ]
      [ , MATERIALIZED_VIEW_NAME => '<string>' ] )

Argumentos

Todos os argumentos são opcionais.

DATE_RANGE_START => constant_expr , . DATE_RANGE_END => constant_expr

O intervalo de data/hora para exibir o histórico de manutenção da exibição materializada. Por exemplo, se você especificar que a data de início é 03-04-2019 e a data final é 05-04-2019, então você obtém dados para 3 de abril, 4 de abril e 5 de abril. (Os pontos de extremidade estão incluídos).

  • Se não for especificada nem uma data de início nem uma data final, o padrão será as últimas 12 horas.

  • Se uma data final não for especificada, mas uma data de início for especificada, então CURRENT_DATE à meia-noite é usada como o fim do intervalo.

  • Se uma data de início não for especificada, mas uma data final for especificada, então o intervalo começa 12 horas antes do início de DATE_RANGE_END.

MATERIALIZED_VIEW_NAME => string

Nome da exibição materializada. Se especificado, mostra apenas o histórico para a exibição materializada especificada. O nome pode incluir o nome do esquema e o nome do banco de dados.

Se um nome não for especificado, então os resultados incluem os dados para cada exibição materializada mantida dentro do intervalo de tempo especificado.

Notas de uso

  • Retorna resultados apenas para a função ACCOUNTADMIN ou qualquer função que tenha sido explicitamente concedido o privilégio global MONITOR USAGE.

    Nota

    Uma função com o privilégio MONITOR USAGE pode ver o uso de crédito por objeto, mas não os nomes de objetos. A função também deve ter SELECT em um objeto para que seu nome seja devolvido por esta função. Se a função não tiver privilégios suficientes para ver o nome do objeto, o nome do objeto pode ser exibido com um nome substituto, como “desconhecido_#”, onde “#” representa um ou mais dígitos.

  • Ao chamar uma função de tabela do Information Schema, a sessão deve ter um esquema INFORMATION_SCHEMA em uso ou o nome da função deve ser totalmente qualificado. Para obter mais detalhes, consulte Snowflake Information Schema.

  • O histórico é exibido em incrementos de 1 hora.

Saída

A função retorna as seguintes colunas:

Nome da coluna

Tipo de dados

Descrição

START_TIME

TIMESTAMP_LTZ

Início do intervalo especificado.

END_TIME

TIMESTAMP_LTZ

Fim do intervalo especificado.

CREDITS_USED

TEXT

Número de créditos faturados para manutenção da exibição materializada durante o intervalo START_TIME e END_TIME.

MATERIALIZED_VIEW_NAME

TEXT

Nome da exibição materializada.

Exemplos

Recupere o histórico de atualização por uma hora para sua conta:

select *
  from table(information_schema.materialized_view_refresh_history(
    date_range_start=>'2019-05-22 19:00:00.000',
    date_range_end=>'2019-05-22 20:00:00.000'));

Aqui está uma amostra da saída:

+-------------------------------+-------------------------------+--------------+-----------------------------------------+
| START_TIME                    | END_TIME                      | CREDITS_USED | MATERIALIZED_VIEW_NAME                  |
|-------------------------------+-------------------------------+--------------+-----------------------------------------|
| 2019-05-22 19:00:00.000 -0700 | 2019-05-22 20:00:00.000 -0700 |  0.223276651 | TEST_DB.TEST_SCHEMA.MATERIALIZED_VIEW_1 |
+-------------------------------+-------------------------------+--------------+-----------------------------------------+

Recuperar o histórico das últimas 12 horas para sua conta:

select *
  from table(information_schema.materialized_view_refresh_history(
    date_range_start=>dateadd(H, -12, current_timestamp)));

Recuperar o histórico da última semana para sua conta:

select *
  from table(information_schema.materialized_view_refresh_history(
    date_range_start=>dateadd(D, -7, current_date),
    date_range_end=>current_date));

Recupere o histórico de manutenção da última semana para uma exibição materializada especificada em sua conta:

select *
  from table(information_schema.materialized_view_refresh_history(
    date_range_start=>dateadd(D, -7, current_date),
    date_range_end=>current_date,
    materialized_view_name=>'mydb.myschema.my_materialized_view'));