- Schémas :
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 |
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 |
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 |
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;
L’exemple ci-dessus utilise GREATEST pour éviter de diviser par zéro lorsque le nombre de partitions élaguées est nul.