Catégories :

Information Schema , Fonctions de table

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>' ] )
Copy

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

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

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

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

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