- Catégories :
MATERIALIZED_VIEW_REFRESH_HISTORY¶
Cette fonction de table permet d’interroger l’historique d’actualisation de vues matérialisées pour une vue matérialisée spécifiée dans une plage de dates spécifiée. Les informations renvoyées par la fonction incluent le nom de la vue et les crédits utilisés chaque fois qu’une vue matérialisée est actualisée.
Syntaxe¶
MATERIALIZED_VIEW_REFRESH_HISTORY(
[ DATE_RANGE_START => <constant_expr> ]
[ , DATE_RANGE_END => <constant_expr> ]
[ , MATERIALIZED_VIEW_NAME => '<string>' ] )
Arguments¶
Tous les arguments sont facultatifs.
DATE_RANGE_START => constant_expr
, .DATE_RANGE_END => constant_expr
La plage de date/heure pour afficher l’historique de maintenance de la vue matérialisée. Par exemple, si vous spécifiez que la date de début est 2019-04-03 et que la date de fin est 2019-04-05, vous obtenez des données pour le 3, le 4 et 5 avril. (Les points de terminaison sont inclus.)
Si ni date de début, ni date de fin n’est spécifiée, la valeur par défaut correspondra aux 12 dernières heures.
Si aucune date de fin n’est spécifiée, mais si une date de début est spécifiée, alors CURRENT_DATE à minuit est utilisée comme date de fin de plage.
Si aucune date de début n’est spécifiée, mais qu’une date de fin est spécifiée, la plage commence 12 heures avant le début de
DATE_RANGE_END
.
MATERIALIZED_VIEW_NAME => string
Nom de la vue matérialisée. Si spécifié, affiche uniquement l’historique de la vue matérialisée spécifiée. Le nom peut inclure le nom du schéma et le nom de la base de données.
Si aucun nom n’est spécifié, les résultats incluent les données de chaque vue matérialisée gérée dans la plage de temps spécifiée.
Notes sur l’utilisation¶
Renvoie les résultats uniquement pour le rôle ACCOUNTADMIN ou tout rôle auquel le privilège global MONITOR USAGE a été explicitement accordé.
Note
Un rôle doté du privilège MONITOR USAGE peut afficher l’utilisation du crédit par objet, mais pas les noms d’objet. Il est également nécessaire d’accorder SELECT au rôle sur un objet pour que son nom soit renvoyé par cette fonction. Si le rôle ne dispose pas des privilèges suffisants pour voir le nom de l’objet, celui-ci peut être affiché avec un nom de substitution tel que « inconnu_# », où « # » représente un ou plusieurs chiffres.
Lors de l’appel d’une fonction de la table de schémas d’informations, la session doit avoir un schéma INFORMATION_SCHEMA en cours d’utilisation ou le nom de la fonction doit être complètement qualifié. Pour plus de détails, voir Schéma d’information de Snowflake.
L’historique est affiché par incréments de 1 heure.
Sortie¶
La fonction renvoie les colonnes suivantes :
Nom de la colonne |
Type de données |
Description |
---|---|---|
START_TIME |
TIMESTAMP_LTZ |
Début de l’intervalle de temps spécifié. |
END_TIME |
TIMESTAMP_LTZ |
Fin de l’intervalle de temps spécifié. |
CREDITS_USED |
TEXT |
Nombre de crédits facturés pour la maintenance de la vue matérialisée au sein de la période START_TIME et END_TIME. |
MATERIALIZED_VIEW_NAME |
TEXT |
Nom de la vue matérialisée. |
Exemples¶
Récupérer l’historique d’actualisation d’une durée de 30 minutes pour votre compte :
select * from table(information_schema.materialized_view_refresh_history( date_range_start=>'2019-05-22 19:00:00.000', date_range_end=>'2019-05-22 20:00:00.000'));Voici un exemple de sortie :
+-------------------------------+-------------------------------+--------------+-----------------------------------------+ | START_TIME | END_TIME | CREDITS_USED | MATERIALIZED_VIEW_NAME | |-------------------------------+-------------------------------+--------------+-----------------------------------------| | 2019-05-22 19:00:00.000 -0700 | 2019-05-22 20:00:00.000 -0700 | 0.223276651 | TEST_DB.TEST_SCHEMA.MATERIALIZED_VIEW_1 | +-------------------------------+-------------------------------+--------------+-----------------------------------------+
Récupérer l’historique des 12 dernières heures pour votre compte :
select * from table(information_schema.materialized_view_refresh_history( date_range_start=>dateadd(H, -12, current_timestamp)));
Récupérer l’historique de la semaine passée pour votre compte :
select * from table(information_schema.materialized_view_refresh_history( date_range_start=>dateadd(D, -7, current_date), date_range_end=>current_date));
Récupérer l’historique de maintenance de la semaine écoulée pour une vue matérialisée spécifiée de votre compte :
select * from table(information_schema.materialized_view_refresh_history( date_range_start=>dateadd(D, -7, current_date), date_range_end=>current_date, materialized_view_name=>'mydb.myschema.my_materialized_view'));