ALTER MATERIALIZED VIEW

Modifie une vue matérialisée dans le schéma actuel/spécifié. Les actions prises en charge sont les suivantes :

  • Renommer la vue matérialisée.

  • Suspendre et reprendre l’utilisation et la maintenance de la vue matérialisée.

  • Effectuer un clustering de la vue matérialisée.

  • Suspendre et reprendre le reclustering de la vue matérialisée.

  • Suppression du clustering de la vue matérialisée.

Pour plus de détails, voir Travailler avec des vues matérialisées.

Voir aussi :

CREATE MATERIALIZED VIEW , DROP MATERIALIZED VIEW , SHOW MATERIALIZED VIEWS , DESCRIBE MATERIALIZED VIEW

Syntaxe

ALTER MATERIALIZED VIEW <name>
  {
  RENAME TO <new_name>                     |
  CLUSTER BY ( <expr1> [, <expr2> ... ] )  |
  DROP CLUSTERING KEY                      |
  SUSPEND RECLUSTER                        |
  RESUME RECLUSTER                         |
  SUSPEND                                  |
  RESUME                                   |
  SET {
    [ SECURE ]
    [ COMMENT = '<comment>' ]
    }                                      |
  UNSET {
    SECURE                                 |
    COMMENT
    }
  }

ALTER MATERIALIZED VIEW
  SET DATA_METRIC_SCHEDULE = {
      '<num> MINUTE'
    | 'USING CRON <expr> <time_zone>'
  }

ALTER MATERIALIZED VIEW UNSET DATA_METRIC_SCHEDULE
Copy

Paramètres

name

Spécifie l’identificateur de la vue matérialisée à modifier.

RENAME TO new_name

Cette option vous permet de renommer une vue matérialisée.

Le nouvel identificateur doit être unique pour le schéma dans lequel la vue est créée. Le nouvel identificateur doit commencer par un caractère alphabétique et ne peut pas contenir d’espaces ou de caractères spéciaux à moins que toute la chaîne d’identificateur soit délimitée par des guillemets doubles (p. ex. "My object"). Les identificateurs entre guillemets doubles sont également sensibles à la casse. Pour plus de détails, voir Exigences relatives à l’identificateur.

Vous pouvez déplacer l’objet vers une autre base de données et/ou un autre schéma tout en renommant éventuellement l’objet. Pour ce faire, spécifiez une valeur new_name qualifiée qui inclut le nouveau nom de la base de données et/ou du schéma sous la forme db_name.schema_name.object_name ou schema_name.object_name, respectivement.

Note

  • La base de données et/ou le schéma de destination doivent déjà exister. En outre, un objet portant le même nom ne peut pas déjà exister dans le nouvel emplacement ; sinon, l’instruction renvoie une erreur.

  • Le déplacement d’un objet vers un schéma d’accès géré est interdit sauf si le propriétaire de l’objet (c’est-à-dire le rôle qui a le privilège OWNERSHIP sur l’objet) est également propriétaire du schéma cible.

Notez que le changement de nom d’une vue matérialisée ne met pas à jour les références à cette vue. Par exemple, si vous créez une vue nommée V1 au-dessus d’une vue matérialisée, puis renommez la vue matérialisée, la définition de la vue V1 devient obsolète.

CLUSTER BY expr#

Cette commande effectue un clustering de la vue matérialisée. Le clustering réorganise les lignes de la vue matérialisée pour améliorer les performances des requêtes qui appliquent un filtre en fonction des expressions de la clé de clustering.

expr# spécifie une expression sur laquelle baser l’opération de clustering de la vue matérialisée. En règle générale, l’expression est le nom d’une colonne dans la vue matérialisée.

Pour plus d’informations sur le clustering des vues matérialisées, voir : Vues matérialisées et clustering. Pour plus d’informations sur le clustering en général, voir : Qu’est-ce que le clustering de données ?.

DROP CLUSTERING KEY

Cette commande détruit le clustering de la vue matérialisée.

SUSPEND RECLUSTER

L’option SUSPEND RECLUSTER suspend le reclustering de la vue matérialisée. Pour plus d’informations sur le clustering des vues matérialisées, voir Vues matérialisées et clustering.

RESUME RECLUSTER

L’option RESUME RECLUSTER reprend le reclustering de la vue matérialisée.

SUSPEND

L’option SUSPEND suspend la maintenance (mises à jour) et l’utilisation de la vue matérialisée. Lorsque la vue est suspendue, les mises à jour de la table de base ne sont pas propagées dans la vue matérialisée. La vue matérialisée elle-même est également inaccessible ; si vous essayez de l’utiliser, vous recevez un message d’erreur semblable à celui-ci :

Failure during expansion of view 'MV1':
  SQL compilation error: Materialized View MV1 is invalid.
  Invalidation reason: Marked Materialized View as invalid manually.

Si vous suspendez une vue matérialisée en cluster, la suspension de la vue suspend implicitement le reclustering de cette vue.

RESUME

L’option RESUME vous permet de reprendre l’utilisation de la vue matérialisée. Elle reprend également la maintenance de la vue matérialisée. Si la vue est en cluster, elle reprend également implicitement le reclustering de cette vue.

SET ...

Spécifie la propriété à définir pour la vue matérialisée :

SECURE

Cette option transforme la vue en vue sécurisée. Pour plus d’informations sur les vues sécurisées, voir Utilisation de vues sécurisées.

COMMENT = 'string_literal'

Cette option définit un commentaire pour la vue matérialisée. Le commentaire n’a aucun effet sur le comportement de la vue, mais peut fournir des informations utiles aux personnes qui utilisent ou s’occupent de la maintiennent de cette vue.

DATA_METRIC_SCHEDULE ...

Spécifie la planification de l’exécution périodique de la fonction de métrique des données.

'num MINUTE'

Spécifie un intervalle (en minutes) de temps d’attente inséré entre les exécutions de la fonction de métrique des données. Accepte uniquement les entiers positifs.

Prend également en charge la syntaxe num M.

Pour les fonctions de métrique des données, utilisez l’une des valeurs suivantes : 5, 15, 30, 60, 720 ou 1440.

'USING CRON expr time_zone'

Spécifie une expression cron et un fuseau horaire pour l’exécution périodique de la fonction de métrique des données. Prend en charge un sous-ensemble de la syntaxe standard de l’utilitaire cron.

Pour une liste de fuseaux horaires, voir la Liste des fuseaux horaires de la base de données tz.

L’expression cron se compose des champs suivants et l’intervalle périodique doit être d’au moins 5 minutes :

# __________ minute (0-59)
# | ________ hour (0-23)
# | | ______ day of month (1-31, or L)
# | | | ____ month (1-12, JAN-DEC)
# | | | | _ day of week (0-6, SUN-SAT, or L)
# | | | | |
# | | | | |
  * * * * *
Copy

Les caractères spéciaux suivants sont acceptés :

*

Caractère générique. Spécifie toute occurrence du champ.

L

Signifie « dernier ». Lorsqu’il est utilisé dans le champ du jour de la semaine, il vous permet de spécifier des constructions telles que « le dernier vendredi » (« 5L ») d’un mois donné. Dans le champ du mois, il spécifie le dernier jour du mois.

/{n}

Indique l’instance n d’une unité de temps donnée. Chaque quanta de temps est calculé indépendamment. Par exemple, si 4/3 est spécifié dans le champ du mois, la fonction de métrique des données est planifiée pour avril, juillet et octobre (c’est-à-dire tous les 3 mois, à partir du 4e mois de l’année). Le même calendrier est maintenu les années suivantes. En d’autres termes, la fonction de métrique des données n’est pas planifiée pour être exécutée en janvier (3 mois après l’exécution d’octobre).

Note

  • L’expression cron est actuellement évaluée par rapport au fuseau horaire spécifié. La modification de la valeur du paramètre TIMEZONE pour le compte (ou la définition de la valeur au niveau de l’utilisateur ou de la session) ne modifie pas le fuseau horaire de la fonction de métrique des données.

  • L’expression cron définit tous les moments d’exécution valides de la fonction de métrique des données. Snowflake tente d’exécuter une fonction de métrique des données en fonction de cette planification ; toutefois, tout moment d’exécution valide est ignoré si une exécution précédente n’a pas été terminée avant le début du moment d’exécution valide suivant.

  • Lorsqu’un jour de mois et un jour de semaine spécifiques sont inclus dans l’expression cron, la fonction de métrique des données est planifiée les jours correspondant au jour du mois ou au jour de la semaine. Par exemple, DATA_METRIC_SCHEDULE = 'USING CRON 0 0 10-20 * TUE,THU UTC' planifie une fonction de métrique des données à 0AM entre le 10e et le 20e jour du mois ainsi que le mardi ou le jeudi en dehors de ces dates.

  • La granularité de temps la plus courte en cron est la minute.

UNSET ...

Spécifie la propriété à désactiver pour la vue matérialisée :

  • SECURE

  • TAG tag_name [ , tag_name ... ]

  • COMMENT

  • DATA_METRIC_SCHEDULE

Notes sur l’utilisation

  • Utilisez la commande ALTER VIEW pour définir/annuler une politique de masquage, une politique d’accès aux lignes ou une balise sur/depuis une vue matérialisée.

  • Vous pouvez utiliser des fonctions de métrique des données (DMFs) avec des vues matérialisées comme suit :

    • Pour définir le paramètre DATA_METRIC_SCHEDULE sur la vue matérialisée, utilisez la commande ALTER MATERIALIZED VIEW. Pour plus d’informations, voir Planifiez l’exécution de vos DMFs.

    • Pour ajouter un DMF à une colonne ou supprimer un DMF à partir d’une colonne dans une vue matérialisée, utilisez la commande ALTER VIEW.

  • Concernant les métadonnées :

    Attention

    Les clients doivent s’assurer qu’aucune donnée personnelle (autre que pour un objet utilisateur), donnée sensible, donnée à exportation contrôlée ou autre donnée réglementée n’est saisie comme métadonnée lors de l’utilisation du service Snowflake. Pour plus d’informations, voir Champs de métadonnées dans Snowflake.

Exemples

Renommer une vue matérialisée :

ALTER MATERIALIZED VIEW table1_MV RENAME TO my_mv;
Copy

Effectuer le cluster d’une vue matérialisée :

ALTER MATERIALIZED VIEW my_mv CLUSTER BY(i);
Copy

Suspendre le clustering d’une vue matérialisée, mais pas l’utilisation de la vue :

ALTER MATERIALIZED VIEW my_mv SUSPEND RECLUSTER;
Copy

Reprendre le clustering d’une vue matérialisée :

ALTER MATERIALIZED VIEW my_mv RESUME RECLUSTER;
Copy

Suspendre toute utilisation et maintenance automatique de la vue matérialisée spécifiée :

ALTER MATERIALIZED VIEW my_mv SUSPEND;
Copy

Reprendre toute utilisation et maintenance automatique de la vue matérialisée spécifiée :

ALTER MATERIALIZED VIEW my_mv RESUME;
Copy

Arrêter d’effectuer le clustering d’une vue matérialisée :

ALTER MATERIALIZED VIEW my_mv DROP CLUSTERING KEY;
Copy

Modifier la vue pour en faire une vue sécurisée :

ALTER MATERIALIZED VIEW mv1 SET SECURE;
Copy

Ajouter ou remplacer le commentaire pour une vue matérialisée :

ALTER MATERIALIZED VIEW mv1 SET COMMENT = 'Sample view';
Copy