Tous les produits
Search
Centre de documentation

AnalyticDB:Manage materialized views

Dernière mise à jour :Aug 10, 2026

Une fois les vues matérialisées créées, gérez-les au sein de votre cluster. Vous pouvez notamment consulter leurs historiques d'actualisation et leurs définitions, modifier le groupe de ressources utilisé, activer ou désactiver la réécriture de requête, et les supprimer.

Consultation de la définition d'une vue matérialisée

Consultez l'instruction DDL utilisée pour créer une vue matérialisée.

Autorisations

L'autorisation SELECT sur la vue matérialisée est requise. À défaut, un compte privilégié ou un compte standard disposant de l'autorisation GRANT doit vous accorder cette autorisation depuis la page account management de la console, ou en exécutant l'instruction SQL suivante : GRANT SELECT ON database.mv_name TO username;

Syntaxe

SHOW CREATE MATERIALIZED VIEW <mv_name>

Exemple

Consultez l'instruction DDL de la vue matérialisée compl_mv1.

SHOW CREATE MATERIALIZED VIEW demo.compl_mv1;

Consultation des métadonnées des vues matérialisées

Champs

La vue information_schema.mv_info contient les métadonnées de toutes les vues matérialisées. Pour consulter la définition d'une seule vue matérialisée, utilisez l'instruction SHOW CREATE MATERIALIZED VIEW.

Le tableau suivant décrit les champs courants de la vue information_schema.mv_info.

Champ

Description

MV_SCHEMA

Base de données dans laquelle se trouve la vue matérialisée.

MV_NAME

Nom de la vue matérialisée.

MV_DEFINITION

Instruction DDL des propriétés de table de la vue matérialisée.

MV_QUERY

Requête SQL originale de la vue matérialisée (query_body).

FIRST_REFRESH_TIME

Heure de la première actualisation, si l'actualisation automatique est configurée.

NEXT_REFRESH_TIME_FUNC

Fonction qui détermine l'heure de la prochaine actualisation, si l'actualisation automatique est configurée.

OWNER

Créateur de la vue matérialisée.

QUERY_SCHEMA

Base de données dans laquelle l'instruction CREATE MATERIALIZED VIEW a été exécutée.

REFRESH_CONDITION

Mécanisme de déclenchement de l'actualisation.

  • DEMAND : Une tâche planifiée ou une commande manuelle déclenche l'actualisation.

  • OVERWRITE : Une opération d'écrasement sur une table de base déclenche l'actualisation.

REFRESH_STATE

Méthode d'actualisation de la vue matérialisée.

  • COMPLETE : Actualisation complète.

  • FAST : Actualisation incrémentielle.

UPDATE_TIME

Dernière heure de mise à jour de cette ligne de métadonnées.

Exemples

  • Comptez les vues matérialisées du cluster.

    SELECT count(*) FROM information_schema.mv_info;
  • Consultez les métadonnées de toutes les vues matérialisées.

    SELECT * FROM information_schema.mv_info;

Liste des vues matérialisées

Répertorie les vues matérialisées d'une base de données spécifiée sur lesquelles vous disposez de l'autorisation SELECT. Si vous spécifiez un motif, seules les vues matérialisées dont les noms correspondent au motif sont renvoyées.

Autorisations

L'autorisation SELECT sur toutes les vues matérialisées de la base de données spécifiée est requise. À défaut, un compte privilégié ou un compte standard disposant de l'autorisation GRANT doit vous accorder cette autorisation depuis la page account management de la console, ou en exécutant l'instruction SQL suivante : GRANT SELECT ON database. TO username*;

Syntaxe

Pour consulter toutes les vues matérialisées de la base de données actuelle :

SHOW MATERIALIZED VIEWS [LIKE 'pattern']

Pour consulter toutes les vues matérialisées d'une base de données spécifique (qui peut différer de la base de données actuelle) :

SELECT * FROM information_schema.mv_info WHERE mv_schema='schema_name';

Exemples

  • Consultez toutes les vues matérialisées de la base de données actuelle.

    SHOW MATERIALIZED VIEWS;
  • Consultez toutes les vues matérialisées de la base de données actuelle dont les noms commencent par compl.

    SHOW MATERIALIZED VIEWS LIKE 'compl%';
    Remarque

    Pour plus d'informations sur l'utilisation de LIKE 'pattern', consultez la section String functions.

  • Consultez toutes les vues matérialisées de la base de données demo.

    SELECT * FROM information_schema.mv_info WHERE mv_schema='demo';

Consultation des historiques d'actualisation

Historiques d'actualisation automatique

Syntaxe

Utilisez l'instruction SQL suivante pour consulter les historiques d'actualisation automatique d'une vue matérialisée spécifiée. Les enregistrements incluent l'heure de début (START_TIME), l'heure de fin (END_TIME), le statut (STATE) et l'ID de processus (PROCESS_ID) de l'actualisation.

SELECT * FROM information_schema.mv_auto_refresh_jobs WHERE mv_schema='<schema_name>' AND mv_name = '<mv_name>';

La vue information_schema.mv_auto_refresh_jobs stocke les enregistrements des tâches d'actualisation automatique des vues matérialisées. Elle conserve un maximum de 1 024 enregistrements. Cette table répertorie uniquement les vues matérialisées configurées pour une actualisation automatique planifiée (à l'aide des paramètres START WITH ou NEXT).

Remarque

La vue information_schema.mv_auto_refresh_jobs n'inclut pas l'enregistrement de l'actualisation initiale effectuée lors de la création de la vue matérialisée.

Exemples

  • Consultez tous les historiques d'actualisation de la vue matérialisée compl_mv1 dans la base de données demo.

    SELECT * FROM information_schema.mv_auto_refresh_jobs WHERE mv_schema = 'demo' AND mv_name = 'compl_mv1';
  • Consultez la tâche d'actualisation en attente la plus récente pour la vue matérialisée compl_mv1 dans la base de données demo.

    SELECT * FROM information_schema.mv_auto_refresh_jobs WHERE mv_schema = 'demo' AND mv_name = 'compl_mv1' AND state = 'PENDING';

Champs

Le tableau suivant décrit les champs courants.

Champ

Description

MV_SCHEMA

Nom de la base de données dans laquelle se trouve la vue matérialisée.

MV_NAME

Nom de la vue matérialisée.

PROCESS_ID

ID de processus de la tâche d'actualisation.

SCHEDULED_START_TIME

Heure de début planifiée de la tâche d'actualisation.

START_TIME

Heure de début réelle de la tâche d'actualisation.

END_TIME

Heure de fin réelle de la tâche d'actualisation.

STATE

Statut de l'actualisation.

  • PENDING : En attente de déclenchement.

  • RUNNING : L'actualisation est en cours. Si de nombreuses vues matérialisées commencent à s'actualiser simultanément, une tâche peut apparaître comme RUNNING tandis qu'elle attend des ressources de calcul.

  • FINISHED : L'actualisation est terminée.

  • FAILED : L'actualisation a échoué. La tâche effectue automatiquement jusqu'à 10 tentatives. Si l'échec persiste, le système ignore la tâche et attend la prochaine actualisation planifiée.

  • TIMEOUT : La tâche d'actualisation est dans un état inconnu et ne s'est pas achevée. Une tâche ayant expiré est actualisée à nouveau.

Historiques d'actualisation manuelle

  • Utilisez la fonctionnalité SQL Audit pour consulter les historiques d'actualisation manuelle d'une vue matérialisée sur les 30 derniers jours. Lors de la recherche, saisissez le mot-clé REFRESH MATERIALIZED VIEW mv_name pour trouver des informations telles que l'heure, la durée, l'adresse IP et le nom d'utilisateur associés aux actualisations manuelles.

    Remarque

    La fonctionnalité SQL Audit doit être activée séparément. Les opérations SQL effectuées avant l'activation de cette fonctionnalité ne sont pas enregistrées.

  • Utilisez la fonctionnalité SQL Diagnostics and Optimization pour consulter les historiques d'actualisation manuelle et automatique sur les 14 derniers jours. Lors de la recherche, saisissez le nom de la vue matérialisée, par exemple compl_mv1. Vous pouvez récupérer des informations sur toutes les requêtes SQL associées (y compris la création, l'actualisation manuelle, l'actualisation automatique et les modifications), telles que l'heure de début, le nom d'utilisateur, la durée et l'ID de requête.

Modification des vues matérialisées

Convertissez une vue matérialisée standard en une vue matérialisée élastique, modifiez le groupe de ressources utilisé, activez ou désactivez la réécriture de requête, ou renommez-la.

Vous ne pouvez pas modifier d'autres propriétés, telles que la définition de la vue, la politique d'actualisation ou le déclencheur d'actualisation.

Autorisations

L'autorisation ALTER sur la vue matérialisée est requise. À défaut, un compte privilégié ou un compte standard disposant de l'autorisation GRANT doit vous accorder cette autorisation depuis la page account management de la console, ou en exécutant l'instruction SQL suivante : GRANT ALTER ON database.mv_name TO username;

Syntaxe

ALTER MATERIALIZED VIEW <mv_name>
[MV_PROPERTIES=<MV_PROPERTIES>]
[ENABLE|DISABLE QUERY REWRITE]
[RENAME <new_mv_name>]
[BINLOG={TRUE|FALSE}]
  • MV_PROPERTIES : Spécifie les propriétés de la vue matérialisée, y compris les paramètres mv_resource_group et mv_refresh_hints.

    mv_resource_group : Spécifie le groupe de ressources utilisé par la vue matérialisée. Si le groupe de ressources spécifié n'existe pas, une erreur est renvoyée lors de la création de la vue matérialisée.

    mv_refresh_hints : Définit les paramètres de la vue matérialisée. Pour plus de détails sur les paramètres de configuration pris en charge, consultez la section Common Hints.

    Important

    Les propriétés <MV_PROPERTIES> spécifiées dans une instruction ALTER écrasent complètement les propriétés <MV_PROPERTIES> spécifiées lors de la création de la vue matérialisée.

    Par exemple, si vous créez une vue matérialisée et configurez les paramètres mv_resource_group et mv_refresh_hints, puis exécutez une instruction ALTER qui spécifie uniquement le paramètre mv_resource_group, le paramètre mv_resource_group est mis à jour et le paramètre mv_refresh_hints est effacé.

  • ENABLE|DISABLE QUERY REWRITE : Active ou désactive la fonctionnalité de réécriture de requête.

  • RENAME <new_mv_name> : Renomme la vue matérialisée.

  • BINLOG={TRUE|FALSE} : Active ou désactive la fonctionnalité binlog pour la vue matérialisée. Cette option est prise en charge dans les versions 3.2.5.0 et ultérieures du noyau du cluster.

Exemples

  • Activez la fonctionnalité de réécriture de requête pour la vue matérialisée compl_mv1.

    ALTER MATERIALIZED VIEW compl_mv1 ENABLE QUERY REWRITE;
  • Modifiez le groupe de ressources utilisé par la vue matérialisée élastique job_mv.

    ALTER MATERIALIZED VIEW job_mv 
    MV_PROPERTIES='{
      "mv_resource_group":"my_job_rg_2",
      "mv_refresh_hints":{"query_priority":"NORMAL"}
    }';
  • Convertissez la vue matérialisée standard compl_mv1 en une vue matérialisée élastique.

    ALTER MATERIALIZED VIEW compl_mv1 
    MV_PROPERTIES='{
      "mv_resource_group":"my_job_rg_2"
    }';
  • Renommez la vue matérialisée mv1 en mv2.

    ALTER MATERIALIZED VIEW mv1 RENAME mv2;

Suppression des vues matérialisées

Cette opération supprime physiquement la vue matérialisée et ses données.

Remarque

Si vous utilisez DROP TABLE pour supprimer une vue matérialisée, une erreur est renvoyée. Le message d'erreur est similaire à demo.myview11 is materialized view, use DROP MATERIALIZED VIEW.

Autorisations

L'autorisation DROP sur la vue matérialisée est requise. À défaut, un compte privilégié ou un compte standard disposant de l'autorisation GRANT doit vous accorder cette autorisation depuis la page account management de la console, ou en exécutant l'instruction SQL suivante : GRANT DROP ON database.mv_name TO username;

Syntaxe

DROP MATERIALIZED VIEW <mv_name>

Exemple

Supprimez la vue matérialisée compl_mv1.

DROP MATERIALIZED VIEW compl_mv1;