- Esquemas:
Exibição TABLE_PRUNING_HISTORY¶
Esta exibição Account Usage pode ser usada para determinar a eficiência da remoção de todas as tabelas e para entender como a ordenação padrão (natural) de dados de uma tabela afeta a remoção.
É possível comparar o número de partições removidas (PARTITIONS_PRUNED
) com o número total de partições escaneadas e removidas (PARTITIONS_SCANNED + PARTITIONS_PRUNED
).
Cada linha nesta exibição representa o histórico de remoção para uma tabela específica dentro de um determinado intervalo. Os dados são agregados por intervalo e incluem informações sobre o número de verificações, partições verificadas, partições removidas, linhas verificadas e linhas removidas.
Você também pode usar esta exibição para comparar os efeitos da poda antes e depois de habilitar o Clustering automático e a otimização de pesquisa para uma tabela.
Consulte também Exibição TABLE_QUERY_PRUNING_HISTORY e Exibição COLUMN_QUERY_PRUNING_HISTORY.
Colunas¶
Nome da coluna |
Tipo de dados |
Descrição |
---|---|---|
START_TIME |
TIMESTAMP_LTZ |
Início do intervalo de tempo (na marca da hora) durante o qual as consultas foram executadas e concluídas. |
END_TIME |
TIMESTAMP_LTZ |
Fim do intervalo de tempo (na marca da hora) durante o qual as consultas foram executadas e concluídas. |
TABLE_ID |
NUMBER |
Identificador interno/gerado pelo sistema para a tabela que foi consultada. |
TABLE_NAME |
VARCHAR |
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 |
VARCHAR |
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 |
VARCHAR |
Nome do banco de dados com a tabela consultada. |
NUM_SCANS |
NUMBER |
Número de operações de varredura de todas as consultas (incluindo instruções SELECT e instruções de DML) na tabela durante a janela de START_TIME e END_TIME. 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 |
NUMBER |
Número de partições removidas para as consultas descritas em |
ROWS_SCANNED |
NUMBER |
Número de linhas escaneadas durante as operações de escaneamento descritas em |
ROWS_PRUNED |
NUMBER |
Número de linhas removidas para as consultas descritas em |
Notas de uso¶
A latência da visualização pode ser de até 6 horas.
Esta exibição não inclui informações de remoção para tabelas híbridas.
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 tiveram a pior eficiência de remoção nos últimos sete dias:
SELECT
table_id,
ANY_VALUE(table_name) AS table_name,
SUM(num_scans) AS total_num_scans,
SUM(partitions_scanned) AS total_partitions_scanned,
SUM(partitions_pruned) AS total_partitions_pruned,
SUM(rows_scanned) AS total_rows_scanned,
SUM(rows_pruned) AS total_rows_pruned
FROM SNOWFLAKE.ACCOUNT_USAGE.TABLE_PRUNING_HISTORY
WHERE start_time >= DATEADD(day, -7, CURRENT_TIMESTAMP())
GROUP BY table_id
ORDER BY
total_partitions_pruned / GREATEST(total_partitions_scanned + total_partitions_pruned, 1),
total_partitions_scanned DESC
LIMIT 5;
+----------+----------------+-----------------+--------------------------+-------------------------+--------------------+-------------------+
| TABLE_ID | TABLE_NAME | TOTAL_NUM_SCANS | TOTAL_PARTITIONS_SCANNED | TOTAL_PARTITIONS_PRUNED | TOTAL_ROWS_SCANNED | TOTAL_ROWS_PRUNED |
|----------+----------------+-----------------+--------------------------+-------------------------+--------------------+-------------------|
| 308226 | SENSOR_DATA_TS | 11 | 21 | 1 | 52500000 | 2500000 |
| 185364 | MATCH | 16 | 14 | 2 | 240968 | 34424 |
| 209932 | ORDER_HEADER | 2 | 300 | 56 | 421051748 | 75350790 |
| 209922 | K7_T1 | 261 | 261 | 52 | 30421 | 3272 |
| 338948 | SENSOR_DATA_TS | 9 | 15 | 3 | 38880000 | 8035200 |
+----------+----------------+-----------------+--------------------------+-------------------------+--------------------+-------------------+
O exemplo acima é usa GREATEST para evitar a divisão por zero quando a soma do número de partições escaneadas e do número de partições removidas é zero.