- Categorias:
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>' ] )
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'));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 | +-------------------------------+-------------------------------+--------------+----------------------------------+
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)));
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') );
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) );