- Esquemas:
Exibição SEARCH_OPTIMIZATION_BENEFITS¶
Esta exibição Account Usage pode ser usada para determinar a eficácia da remoção devido à otimização de pesquisa.
Esta exibição fornece informações sobre a remoção, semelhantes às informações fornecidas por Exibição TABLE_PRUNING_HISTORY. Observe que a exibição TABLE_PRUNING_HISTORY fornece informações sobre todas as remoções, em oposição às remoções causadas pela otimização de pesquisa.
É possível usar esta exibição para comparar os efeitos da remoção antes e depois de adicionar a otimização de pesquisa a uma tabela. Ao consultar esta exibição, compare o número de partições removidas devido à otimização de pesquisa (PARTITIONS_PRUNED_ADDITIONAL
) com o número total de partições podadas (PARTITIONS_PRUNED_DEFAULT + PARTITIONS_PRUNED_ADDITIONAL
).
Colunas¶
Nome da coluna |
Tipo de dados |
Descrição |
---|---|---|
START_TIME |
TIMESTAMP_LTZ |
Início do intervalo de tempo (na marca de hora) durante o qual as consultas foram executadas. |
END_TIME |
TIMESTAMP_LTZ |
Fim do intervalo de tempo (na marca de uma hora) durante o qual as consultas foram executadas. |
TABLE_ID |
NUMBER |
Identificador interno/gerado pelo sistema para a tabela que foi consultada. |
TABLE_NAME |
TEXT |
Nome da tabela que foi consultada. |
SCHEMA_ID |
NUMBER |
identificador interno/gerado pelo sistema para o esquema com a tabela que foi consultada. |
SCHEMA_NAME |
TEXT |
Nome do esquema com a tabela consultada. |
DATABASE_ID |
NUMBER |
Identificador interno/gerado pelo sistema para o banco de dados com a tabela consultada. |
DATABASE_NAME |
TEXT |
Nome do banco de dados com a tabela consultada. |
NUM_SCANS |
NUMBER |
Número de operações de verificação (de todas as consultas na tabela durante a janela START_TIME e END_TIME) que usaram otimização de pesquisa para melhorar a remoção. Observe que uma determinada consulta pode resultar em várias operações de verificação na mesma tabela. |
PARTITIONS_SCANNED |
NUMBER |
Número de partições verificadas durante as operações de verificação descritas em |
PARTITIONS_PRUNED_DEFAULT |
NUMBER |
Número de partições que foram eliminadas como resultado da ordenação padrão (natural) dos dados para as consultas descritas em |
PARTITIONS_PRUNED_ADDITIONAL |
NUMBER |
Número de partições que foram eliminadas como resultado da otimização de pesquisa para as consultas descritas em |
Notas de uso¶
A latência da visualização pode ser de até 6 horas.
Essa visualização retém dados para as 1.000 verificações de tabela de execução mais longa por consulta. Somente consultas extremamente complexas excedem esse número de verificações, portanto, dados raramente são omitidos.
Exemplos¶
Liste as cinco principais tabelas que mais se beneficiaram da otimização de pesquisa nos últimos sete dias:
SELECT
table_id,
ANY_VALUE(table_name) AS table_name,
SUM(num_scans) AS total_num_scans,
SUM(partitions_pruned_default) AS total_partitions_pruned_default,
SUM(partitions_pruned_additional) AS total_partitions_pruned_additional,
SUM(partitions_scanned) AS total_partitions_scanned
FROM SNOWFLAKE.ACCOUNT_USAGE.SEARCH_OPTIMIZATION_BENEFITS
WHERE start_time >= DATEADD(day, -7, CURRENT_TIMESTAMP())
GROUP BY table_id
ORDER BY
total_partitions_pruned_additional / GREATEST(total_partitions_pruned_default + total_partitions_pruned_additional, 1) DESC,
total_partitions_pruned_additional DESC
LIMIT 5;
O exemplo acima usa GREATEST para evitar a divisão por zero quando o número de partições removidas é zero.