Schémas :

ACCOUNT_USAGE

Vue SEARCH_OPTIMIZATION_BENEFITS

Cette vue Account Usage peut être utilisée pour déterminer l’efficacité de l’élagage en raison de l’optimisation de la recherche.

Cette vue fournit des informations sur l’élagage, similaires aux informations fournies par Vue TABLE_PRUNING_HISTORY. Notez que la vue TABLE_PRUNING_HISTORY fournit des informations sur tous les élagages, par opposition à l’élagage dû à l’optimisation de la recherche.

Vous pouvez utiliser cette vue pour comparer les effets de l’élagage avant et après l’ajout de l’optimisation de la recherche à une table. Lorsque vous interrogez cette vue, comparez le nombre de partitions élaguées en raison de l’optimisation de la recherche (PARTITIONS_PRUNED_ADDITIONAL) par rapport au nombre total de partitions élaguées (PARTITIONS_PRUNED_DEFAULT + PARTITIONS_PRUNED_ADDITIONAL).

Colonnes

Nom de la colonne

Type de données

Description

START_TIME

TIMESTAMP_LTZ

Début de la plage horaire (sur la marque horaire) pendant laquelle les requêtes ont été exécutées.

END_TIME

TIMESTAMP_LTZ

Fin de la plage horaire (sur la marque horaire) pendant laquelle les requêtes ont été exécutées.

TABLE_ID

NUMBER

Identificateur interne/généré par le système pour la table qui a été interrogée.

TABLE_NAME

TEXT

Nom de la table interrogée.

SCHEMA_ID

NUMBER

Identificateur interne/généré par le système pour le schéma contenant la table interrogée.

SCHEMA_NAME

TEXT

Nom du schéma contenant la tâche de la table interrogée.

DATABASE_ID

NUMBER

Identificateur interne/généré par le système pour la base de données contenant la table interrogée.

DATABASE_NAME

TEXT

Nom de la base de données contenant la table interrogée.

NUM_SCANS

NUMBER

Nombre d’opérations d’analyse (à partir de toutes les requêtes sur la table dans la période START_TIME - END_TIME) qui a utilisé l’optimisation de la recherche pour améliorer l’élagage. Notez qu’une requête donnée peut entraîner plusieurs opérations d’analyse sur la même table.

PARTITIONS_SCANNED

NUMBER

Nombre de partitions analysées pendant les opérations d’analyse décrites dans NUM_SCANS.

PARTITIONS_PRUNED_DEFAULT

NUMBER

Nombre de partitions qui ont été élaguées en raison de l’ordre par défaut (naturel) des données lors des opérations d’analyse décrites dans NUM_SCANS.

PARTITIONS_PRUNED_ADDITIONAL

NUMBER

Nombre de partitions qui ont été élaguées à la suite de l’optimisation de la recherche pendant les opérations d’analyse décrites dans NUM_SCANS.

Notes sur l’utilisation

  • La latence pour la vue peut atteindre 6 heures.

Exemples

Dressez la liste des cinq premières tables qui ont eu le plus profité de l’optimisation de la recherche au cours des sept derniers jours :

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

L’exemple ci-dessus utilise GREATEST pour éviter de diviser par zéro lorsque le nombre de partitions élaguées est nul.