Todos os produtos
Search
Central de documentação

AnalyticDB:Gerenciar views materializadas

Última atualização: Jun 27, 2026

Após criar views materializadas, é possível gerenciá-las no cluster. Isso inclui consultar os registros de refresh e as definições, alterar o grupo de recursos utilizado, ativar ou desativar o recurso de reescrita de consultas e excluí-las.

Consultar a definição de uma view materializada

Você pode consultar a instrução DDL usada para criar uma view materializada.

Permissões

Você deve ter a permissão SELECT na view materializada. Caso não tenha essa permissão, uma conta privilegiada ou uma conta padrão com a permissão GRANT deve conceder a permissão a você na página de gerenciamento de contas no console ou executando a seguinte instrução SQL: GRANT SELECT ON database.mv_name TO username;

Sintaxe

SHOW CREATE MATERIALIZED VIEW <mv_name>

Exemplo

Consulte a instrução DDL da view materializada compl_mv1.

SHOW CREATE MATERIALIZED VIEW demo.compl_mv1;

Consultar metadados de views materializadas

Campos

A view information_schema.mv_info contém metadados de todas as views materializadas. Para visualizar apenas a definição de uma única view materializada, use a instrução SHOW CREATE MATERIALIZED VIEW.

A tabela a seguir descreve os campos comuns em information_schema.mv_info.

Campo

Descrição

MV_SCHEMA

O banco de dados onde a view materializada está localizada.

MV_NAME

O nome da view materializada.

MV_DEFINITION

O DDL das propriedades de tabela da view materializada.

MV_QUERY

A consulta SQL original da view materializada (query_body).

FIRST_REFRESH_TIME

O horário do primeiro refresh, se o refresh automático estiver configurado.

NEXT_REFRESH_TIME_FUNC

A função que determina o horário do próximo refresh, se o refresh automático estiver configurado.

OWNER

O criador da view materializada.

QUERY_SCHEMA

O banco de dados onde a instrução CREATE MATERIALIZED VIEW foi executada.

REFRESH_CONDITION

O mecanismo de acionamento do refresh.

  • DEMAND: Uma tarefa agendada ou comando manual aciona o refresh.

  • OVERWRITE: Uma substituição em uma tabela base aciona o refresh.

REFRESH_STATE

O método de refresh da view materializada.

  • COMPLETE: Um refresh completo.

  • FAST: Um refresh incremental.

UPDATE_TIME

O horário da última atualização desta linha de metadados.

Exemplos

  • Conte as views materializadas no cluster.

    SELECT count(*) FROM information_schema.mv_info;
  • Consulte os metadados de todas as views materializadas.

    SELECT * FROM information_schema.mv_info;

Listar views materializadas

Lista as views materializadas em um banco de dados especificado para as quais você tem a permissão SELECT. Se você especificar um padrão, apenas as views materializadas cujos nomes correspondem ao padrão são retornadas.

Permissões

Você deve ter a permissão SELECT em todas as views materializadas no banco de dados especificado. Caso não tenha essa permissão, uma conta privilegiada ou uma conta padrão com a permissão GRANT deve conceder a permissão a você na página de gerenciamento de contas no console ou executando a seguinte instrução SQL: GRANT SELECT ON database.* TO username;

Sintaxe

Consulte todas as views materializadas no banco de dados atual:

SHOW MATERIALIZED VIEWS [LIKE 'pattern']

Consulte todas as views materializadas em um banco de dados específico (que pode ser diferente do atual):

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

Exemplos

  • Consulte todas as views materializadas no banco de dados atual.

    SHOW MATERIALIZED VIEWS;
  • Consulte todas as views materializadas no banco de dados atual cujos nomes começam com compl.

    SHOW MATERIALIZED VIEWS LIKE 'compl%';
    Nota

    Para mais informações sobre como usar LIKE 'pattern', consulte Funções de string.

  • Consulte todas as views materializadas no banco de dados demo.

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

Consultar registros de refresh

Registros de refresh automático

Sintaxe

Use a seguinte instrução SQL para consultar os registros de refresh automático de uma view materializada especificada. Os registros incluem o horário de início (START_TIME), horário de término (END_TIME), status (STATE) e ID do processo (PROCESS_ID) do refresh.

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

A view information_schema.mv_auto_refresh_jobs armazena os registros de jobs de refresh automático de views materializadas. Ela retém no máximo 1.024 registros. Esta tabela lista apenas as views materializadas configuradas para refresh automático agendado (usando os parâmetros START WITH ou NEXT).

Nota

A view information_schema.mv_auto_refresh_jobs não inclui o registro do refresh inicial que ocorre quando a view materializada é criada.

Exemplos

  • Consulte todos os registros de refresh da view materializada compl_mv1 no banco de dados demo.

    SELECT * FROM information_schema.mv_auto_refresh_jobs WHERE mv_schema = 'demo' AND mv_name = 'compl_mv1';
  • Consulte o job de refresh pendente mais recente da view materializada compl_mv1 no banco de dados demo.

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

Campos

A tabela a seguir descreve os campos comuns.

Campo

Descrição

MV_SCHEMA

O nome do banco de dados onde a view materializada está localizada.

MV_NAME

O nome da view materializada.

PROCESS_ID

O ID do processo do job de refresh.

SCHEDULED_START_TIME

O horário de início agendado do job de refresh.

START_TIME

O horário de início real do job de refresh.

END_TIME

O horário de término real do job de refresh.

STATE

O status do refresh.

  • PENDING: Aguardando acionamento.

  • RUNNING: O refresh está em andamento. Se muitas views materializadas iniciarem o refresh simultaneamente, um job pode aparecer como RUNNING enquanto aguarda recursos de computação.

  • FINISHED: O refresh foi concluído.

  • FAILED: O refresh falhou. O job é repetido automaticamente até 10 vezes. Se ainda assim falhar, o sistema ignora o job e aguarda o próximo refresh agendado.

  • TIMEOUT: O job de refresh está em um estado desconhecido e não foi concluído. Um job com timeout é atualizado novamente.

Registros de refresh manual

  • Use o recurso SQL Audit para consultar registros de refresh manual de uma view materializada dos últimos 30 dias. Ao consultar, insira a palavra-chave REFRESH MATERIALIZED VIEW mv_name para encontrar informações como horário, duração, endereço IP e nome de usuário dos refreshes manuais.

    Nota

    O recurso SQL Audit deve ser ativado separadamente. Operações SQL realizadas antes de ativar esse recurso não são registradas.

  • Use o recurso SQL Diagnostics and Optimization para consultar registros de refresh manual e automático dos últimos 14 dias. Ao consultar, insira o nome da view materializada, como compl_mv1. É possível recuperar informações sobre todas as consultas SQL relacionadas (incluindo criação, refresh manual, refresh automático e alterações), como horário de início, nome de usuário, duração e ID da consulta.

Alterar views materializadas

É possível converter uma view materializada padrão em uma view materializada elástica, alterar o grupo de recursos utilizado, ativar ou desativar o recurso de reescrita de consultas ou renomeá-la.

Não é possível alterar outras propriedades, como a definição da view, a política de refresh ou o acionador de refresh.

Permissões

Você deve ter a permissão ALTER na view materializada. Caso não tenha essa permissão, uma conta privilegiada ou uma conta padrão com a permissão GRANT deve conceder a permissão a você na página de gerenciamento de contas no console ou executando a seguinte instrução SQL: GRANT ALTER ON database.mv_name TO username;

Sintaxe

ALTER MATERIALIZED VIEW <mv_name>
[MV_PROPERTIES=<MV_PROPERTIES>]
[ENABLE|DISABLE QUERY REWRITE]
[RENAME <new_mv_name>]
[BINLOG={TRUE|FALSE}]
  • MV_PROPERTIES: Especifica as propriedades da view materializada, incluindo os parâmetros mv_resource_group e mv_refresh_hints.

    mv_resource_group: Especifica o grupo de recursos que a view materializada usa. Se o grupo de recursos especificado não existir, um erro será retornado ao criar a view materializada.

    mv_refresh_hints: Define parâmetros para a view materializada. Para detalhes sobre os parâmetros de configuração suportados, consulte Common Hints.

    Importante

    As propriedades <MV_PROPERTIES> especificadas em uma instrução ALTER substituem completamente as propriedades <MV_PROPERTIES> especificadas quando a view materializada foi criada.

    Por exemplo, se você criar uma view materializada e configurar os parâmetros mv_resource_group e mv_refresh_hints, e depois executar uma instrução ALTER que especifica apenas o parâmetro mv_resource_group, o parâmetro mv_resource_group será atualizado e o parâmetro mv_refresh_hints será removido.

  • ENABLE|DISABLE QUERY REWRITE: Ativa ou desativa o recurso de reescrita de consultas.

  • RENAME <new_mv_name>: Renomeia a view materializada.

  • BINLOG={TRUE|FALSE}: Ativa ou desativa o recurso binlog para a view materializada. Compatível com versões de kernel de cluster 3.2.5.0 e posteriores.

Exemplos

  • Ative o recurso de reescrita de consultas para a view materializada compl_mv1.

    ALTER MATERIALIZED VIEW compl_mv1 ENABLE QUERY REWRITE;
  • Altere o grupo de recursos usado pela view materializada elástica job_mv.

    ALTER MATERIALIZED VIEW job_mv
    MV_PROPERTIES='{
      "mv_resource_group":"my_job_rg_2",
      "mv_refresh_hints":{"query_priority":"NORMAL"}
    }';
  • Converta a view materializada padrão compl_mv1 em uma view materializada elástica.

    ALTER MATERIALIZED VIEW compl_mv1
    MV_PROPERTIES='{
      "mv_resource_group":"my_job_rg_2"
    }';
  • Renomeie a view materializada mv1 para mv2.

    ALTER MATERIALIZED VIEW mv1 RENAME mv2;

Excluir views materializadas

Esta operação exclui fisicamente a view materializada e seus dados.

Nota

Se você usar DROP TABLE para excluir uma view materializada, um erro será retornado. A mensagem de erro é semelhante a demo.myview11 is materialized view, use DROP MATERIALIZED VIEW.

Permissões

Você deve ter a permissão DROP na view materializada. Caso não tenha essa permissão, uma conta privilegiada ou uma conta padrão com a permissão GRANT deve conceder a permissão a você na página de gerenciamento de contas no console ou executando a seguinte instrução SQL: GRANT DROP ON database.mv_name TO username;

Sintaxe

DROP MATERIALIZED VIEW <mv_name>

Exemplo

Exclua a view materializada compl_mv1.

DROP MATERIALIZED VIEW compl_mv1;