- 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
).
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.
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 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 durante as operações de verificação 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 durante as operações de varredura 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.
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.