PostgreSQL

Como usar visualizações materializadas do PostgreSQL

Como usar visualizações 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 visualizações armazenem informações materialmente, chamadas de 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 frequentemente 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 visualizações materializadas?

Se o comando de visualização for muito lento para você, você pode preferir usar uma visualização materializada. As visualizações materializadas têm muita versatilidade, permitindo que você retenha uma representação materialmente no banco de dados com tempos de acesso mais curtos. Suponha que você precise criar uma consulta de banco de dados para unir algumas tabelas, remover linhas da coleção unida e classificar as tabelas de várias maneiras. Esta pode ser uma consulta complicada e demorada e, sem visões materializadas, você acabará usando uma visão materializada para resolver este dilema. Este artigo ensina como usar visões materializadas no PostgreSQL.

Sintaxe

>> CRIAR VISUALIZAÇÃO MATERIALIZADA view_name COMO consulta COM [NO] DADOS;

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

Como usar visões materializadas

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

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

Exemplo 1: Visualização Simples

Para entender a visão materializada, você primeiro precisa entender as visões simples. Portanto, crie a nova tabela, 'Aluno', usando o comando CREATE TABLE, conforme anexado.

>> CRIAR TABELA Aluno (sid serial PRIMARY KEY, sname VARCHAR (100) NOT NULL, age VARCHAR (100) NOT NULL);

Depois disso, insira os dados nele usando a consulta INSERT.

Obtenha os registros da tabela 'Aluno' usando a instrução SELECT para a visão simples.

>> SELECIONE * DO Aluno;

Exemplo 2: Visão Materializada Simples

Agora, é hora de cobrir a visão materializada. Usaremos a tabela 'Aluno' para criar uma visão materializada. Iremos criar uma visão materializada chamada 'std_view' usando o comando 'CREATE MATERIALIZED VIEW'. Nesta visualização, buscaremos o campo de nome do aluno 'sname' da tabela 'Student', agrupado e classificado em ordem crescente na coluna 'sname'.

>> CRIAR VISUALIZAÇÃO MATERIALIZADA std_view AS SELECT sname FROM Student GROUP BY sname ORDER BY sname;

Agora, usando a consulta SELECT para executar a visualização, retornaremos os nomes dos alunos na coluna 'sname' da tabela 'Aluno'.

>> SELECT * FROM std_view;

Exemplo 3: visão materializada usando a cláusula WHERE

Agora, vamos criar uma visão materializada usando a cláusula WHERE. Considere a seguinte tabela 'Student' com algumas alterações em seus valores.

Então, vamos criar uma visão materializada chamada 'teststd' usando a consulta 'CREATE MATERIALIZED VIEW'. Vamos selecionar os registros da tabela 'Aluno' onde o valor da coluna 'idade' é maior que '25' usando a cláusula WHERE. A consulta funciona corretamente, como pode ser visto na imagem.

>> CRIAR VISUALIZAÇÃO MATERIALIZADA teststd AS SELECT sid, sname, age FROM Student WHERE age> '25';

Finalmente, vamos executar a visão materializada que acabamos de criar usando o comando SELECT, conforme abaixo. Você verá que ele retornará todos os registros da tabela 'Aluno' em que a coluna 'idade' tem um valor maior que '25.'

>> SELECT * FROM teststd;

Exemplo 4: Atualizar a visualização materializada usando a cláusula WITH NO DATA

Neste exemplo, criaremos uma visão materializada, na qual usaremos a cláusula WITH NO DATA para atualizar a visão. Suponha que a seguinte tabela 'Student' com algumas alterações em seus valores.

Vamos agora criar a visão materializada 'teststd'. Esta visualização irá selecionar os registros da tabela 'aluno' em que a idade dos alunos é menor que '40.'Os registros obtidos serão agrupados e classificados de acordo com a ordem crescente na coluna' sid '. Ao final da consulta, usaremos a cláusula WITH NO DATA para indicar que a consulta não salvará nenhuma informação em uma visão materializada. A visão mostrada abaixo deve executar essas ações com sucesso.

>> CRIAR VISUALIZAÇÃO MATERIALIZADA teststd AS SELECT sid, sname, age FROM Student WHERE age < '40' GROUP BY sid ORDER BY sid WITH NO DATA;

Quando você adiciona a cláusula 'WITH NO DATA' a uma visão materializada, isso cria um vazio. Esta visão materializada não é questionável. Como você pode ver na imagem a seguir, ele não está buscando os registros na visualização recém-criada.

A instrução REFRESH MATERIALIZED VIEW é usada para importar os dados para uma visão materializada. Preencha a visão materializada executando a seguinte consulta REFRESH MATERIALIZED VIEW no shell. Como você pode ver, essa consulta funcionou de maneira eficaz.

>> REFRESH MATERIALIZED VIEW teststd;

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

Exemplo 5: Visão Materializada de Soltar

O seguinte comando irá deletar uma visão materializada.

>> DROP MATERIALIZED VIEW std_view;

Conclusão

Este artigo mostrou como usar visualizações materializadas por meio da cláusula WHERE e consultas REFRESH no shell da linha de comando.

Como capturar e transmitir sua sessão de jogo no Linux
No passado, jogar era considerado apenas um hobby, mas com o tempo a indústria de jogos viu um grande crescimento em termos de tecnologia e número de ...
Melhores jogos para jogar com rastreamento manual
Oculus Quest introduziu recentemente a grande ideia de rastreamento manual sem controladores. Com um número cada vez maior de jogos e atividades que e...
Como mostrar a sobreposição de OSD em aplicativos e jogos Linux em tela cheia
Jogar jogos em tela cheia ou usar aplicativos em modo de tela cheia sem distração pode cortar você das informações relevantes do sistema visíveis em u...