Categorias:

Information Schema , Funções de tabela

SEARCH_OPTIMIZATION_HISTORY

Esta função de tabela é usada para consultar o histórico de manutenção do serviço de otimização de pesquisa de uma tabela determinada dentro de um intervalo de datas especificado. As informações retornadas pela função incluem o nome da tabela e os créditos consumidos cada vez que ocorreu uma operação de manutenção de otimização de pesquisa.

Sintaxe

SEARCH_OPTIMIZATION_HISTORY( [ DATE_RANGE_START => <constant_expr> ] [ , DATE_RANGE_END => <constant_expr> ] [ , TABLE_NAME => '<string>' ] ) 
Copy

Argumentos

Todos os argumentos são opcionais.

DATE_RANGE_START => constant_expr , . DATE_RANGE_END => constant_expr

O intervalo de data/hora para o qual se deve exibir o histórico. 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.

TABLE_NAME => string

O nome da tabela. Se especificado, mostra apenas o histórico para a tabela 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 tabela que tem otimização de pesquisa para a qual a manutenção ocorreu 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 o nome do objeto 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 do índice de pesquisa durante o intervalo START_TIME e END_TIME.

TABLE_NAME

TEXT

Nome da tabela.

Exemplos

Recuperar o histórico para um intervalo de uma hora para sua conta:

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

Aqui está uma amostra da saída:

+-------------------------------+-------------------------------+--------------+----------------------------------+ | START_TIME | END_TIME | CREDITS_USED | TABLE_NAME | |-------------------------------+-------------------------------+--------------+----------------------------------| | 2019-05-22 19:00:00.000 -0700 | 2019-05-22 20:00:00.000 -0700 | 0.223276651 | TEST_DB.TEST_SCHEMA.TEST_TABLE_1 | +-------------------------------+-------------------------------+--------------+----------------------------------+ 
Copy

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

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

Recuperar o histórico da última semana para uma tabela específica:

select * from table(information_schema.search_optimization_history( date_range_start=>dateadd(D, -7, current_date), date_range_end=>current_date, table_name=>'mydb.myschema.my_table') ); 
Copy

Recuperar o histórico de manutenção da última semana para todas as tabelas de sua conta:

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