Esquemas:

ACCOUNT_USAGE

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 NUM_SCANS.

PARTITIONS_PRUNED

NUMBER

Número de partições removidas durante as operações de verificação descritas em NUM_SCANS.

ROWS_SCANNED

NUMBER

Número de linhas escaneadas durante as operações de escaneamento descritas em NUM_SCANS.

ROWS_PRUNED

NUMBER

Número de linhas removidas durante as operações de varredura descritas em NUM_SCANS.

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;
Copy
+----------+----------------+-----------------+--------------------------+-------------------------+--------------------+-------------------+
| 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.