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
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 formedb_name.schema_name.object_name
ouschema_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 vueV1
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
ou1440
.'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) # | | | | | # | | | | | * * * * *
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;
Effectuer le cluster d’une vue matérialisée :
ALTER MATERIALIZED VIEW my_mv CLUSTER BY(i);
Suspendre le clustering d’une vue matérialisée, mais pas l’utilisation de la vue :
ALTER MATERIALIZED VIEW my_mv SUSPEND RECLUSTER;
Reprendre le clustering d’une vue matérialisée :
ALTER MATERIALIZED VIEW my_mv RESUME RECLUSTER;
Suspendre toute utilisation et maintenance automatique de la vue matérialisée spécifiée :
ALTER MATERIALIZED VIEW my_mv SUSPEND;
Reprendre toute utilisation et maintenance automatique de la vue matérialisée spécifiée :
ALTER MATERIALIZED VIEW my_mv RESUME;
Arrêter d’effectuer le clustering d’une vue matérialisée :
ALTER MATERIALIZED VIEW my_mv DROP CLUSTERING KEY;
Modifier la vue pour en faire une vue sécurisée :
ALTER MATERIALIZED VIEW mv1 SET SECURE;
Ajouter ou remplacer le commentaire pour une vue matérialisée :
ALTER MATERIALIZED VIEW mv1 SET COMMENT = 'Sample view';