Como usar as vistas materializadas do PostGresql

Como usar as vistas materializadas do PostGresql

As visualizações no PostgreSQL são tabelas gráficas que exibem dados das tabelas correspondentes. Visualizações comuns também podem ser modificadas. O PostgreSQL leva o conceito de visualizações para o próximo estágio, permitindo que as vistas armazenem informações materialmente, referidas como visualizações materializadas. Uma visão materializada preserva a saída de uma consulta complicada e demorada, permitindo que você consulte os resultados rapidamente a qualquer momento. Os pontos de vista materializados são freqüentemente usados ​​em armazéns de dados e aplicativos de inteligência de negócios porque são úteis em situações que exigem acesso rápido aos dados.

Por que usar vistas materializadas?

Se o comando View for muito lento para você, você pode preferir usar uma visão materializada. As vistas materializadas têm muita versatilidade, permitindo que você mantenha uma representação materialmente no banco de dados com tempos de acesso mais curtos. Suponha que você seja obrigado a criar uma consulta de banco de dados para ingressar em algumas mesas, remover linhas da coleção sincronizada e classificar as tabelas de várias maneiras. Isso pode ser uma consulta complicada e demorada e, sem vistas materializadas, você acabará usando uma visão materializada para enfrentar esse dilema. Este artigo ensina como usar vistas materializadas no PostgreSQL.

Sintaxe

>> Crie visualização materializada View_name como consulta com [não] dados;

A explicação para esta visão geral é a seguinte:

  • View_name: O título da visão a ser criado com a instrução Create Materialized View.
  • Consulta: A consulta que obtém os dados das tabelas correspondentes.
  • Com [não] dados: Escolha a opção com dados para incorporar dados de informações na visão materializada no momento do desenvolvimento; Caso contrário, escolha sem dados. A visualização é marcada como incompreensível se você usar a opção de dados [não], o que implica que você não poderá procurar informações da visualização, a menos que tenha carregado dados nele primeiro.

Como usar vistas materializadas

Inicie o shell da linha de comando PostGresql para começar a trabalhar em visualizações materializadas.

Forneça o nome do servidor, o banco de dados em que deseja trabalhar, número da porta e nome de usuário para começar a usar o shell de comando. Deixe esses espaços vazios se quiser usar o sistema padrão.

Exemplo 1: Vista simples

Para entender a visão materializada, você primeiro precisa entender visões simples. Portanto, crie a nova tabela, 'aluno', usando o comando Create Table, conforme anexado.

>> Crie aluno da tabela (chave primária serial sid, sname Varchar (100) não nula, idade varchar (100) não nula);

Depois disso, insira dados nele usando a consulta de inserção.

Busque os registros da tabela 'Student' usando a instrução SELECT para a visualização simples.

>> selecione * do aluno;

Exemplo 2: Vista materializada simples

Agora, é hora de cobrir a visão materializada. Usaremos a tabela de 'aluno' para criar uma visão materializada. Criaremos uma visualização materializada chamada 'std_view' usando o comando 'criar visualização materializada'. Nesta visão, buscaremos o campo de nome do aluno 'Snam' da tabela 'Student', agrupado e classificado em ordem ascendente na coluna 'Snam'.

>> Crie visualização materializada std_view como selecione snome do grupo de estudantes por ordem de snome by sname;

Agora, usando a consulta selecionada para executar a visualização, retornaremos os nomes dos estudantes na coluna 'Snome' da tabela 'Student'.

>> selecione * de std_view;

Exemplo 3: Vista materializada usando onde a cláusula

Agora, criaremos uma visão materializada usando a cláusula onde. Considere a seguinte tabela de 'aluno' com algumas alterações em seus valores.

Em seguida, criaremos uma visualização materializada chamada 'testStd' usando a consulta 'Criar visualização materializada'. Selecionaremos os registros da tabela 'Student', onde o valor da coluna 'Age' é maior que '25' usando a cláusula onde. A consulta funciona corretamente, como visto na foto.

>> Crie visualização materializada testStd como Sid Select Sid, Snome, envelheça do aluno onde a idade> 25 ';

Por fim, executaremos a visão materializada que acabamos de criar usando o comando select, como abaixo. Você verá que ele retornará todos os registros da tabela 'Student' na qual a coluna 'Age' tem um valor maior que '25.'

>> selecione * no testStd;

Exemplo 4: Refresh Vista materializada usando sem cláusula de dados

Neste exemplo, criaremos uma visão materializada, na qual usaremos a cláusula sem dados para atualizar a visualização. Suponha que a tabela de 'aluno' a seguir com algumas alterações em seus valores.

Agora criaremos a visão 'testStd' materializada. Esta visão selecionará os registros da tabela 'Student' na qual a idade dos alunos é menor que '40.'Os registros buscados serão agrupados e classificados de acordo com a ordem ascendente na coluna' Sid '. No final da consulta, usaremos a cláusula sem dados para indicar que a consulta não salvará nenhuma informação em uma visão materializada. A visão mostrada abaixo deve executar com sucesso essas ações.

>> Crie visualização materializada testStd como Sid Select Sid, Snedem, envelheça do aluno onde a idade < '40' GROUP BY sid ORDER BY sid WITH NO DATA;

Quando você adiciona a cláusula 'sem dados' a uma visão materializada, isso cria uma em branco. Esta visão materializada não é consultável. Como você pode ver na imagem a seguir, não está buscando os registros na visualização recém -criada.

A declaração de exibição materializada de atualização é usada para importar os dados para uma visão materializada. Preencha a visão materializada executando a seguinte consulta de exibição materializada no shell. Como você pode ver, esta consulta funcionou efetivamente.

>> Atualizar visualização materializada testStd;

Novamente, busque os registros da visão materializada 'testStd' usando a instrução SELECT no shell. Desta vez, a consulta selecionada funciona corretamente porque a declaração 'Atualizar' carregou o conteúdo na visão materializada.

Exemplo 5: Vista materializada de queda

O comando a seguir excluirá uma visão materializada.

>> Drop Materialized View std_view;

Conclusão

Este artigo mostrou como usar vistas materializadas através da cláusula WHERE e das consultas de atualização no shell da linha de comando.