Neste capítulo



☝🏻Introdução

À medida que os bancos de dados crescem e as consultas se tornam mais complexas, a performance se torna um fator crítico. Consultas lentas podem degradar a experiência do usuário e sobrecarregar o sistema. Para enfrentar esses desafios, o PostgreSQL e outros SGBDs oferecem ferramentas poderosas, como Visões e Índices. Este capítulo explora como essas ferramentas funcionam e como aplicá-las para melhorar a eficiência e a manutenção do seu banco de dados, garantindo que suas consultas sejam rápidas e seu sistema seja escalável.


👀 Visões (Views)

Uma visão, ou VIEW, é uma tabela virtual baseada no conjunto de resultados de uma consulta SELECT. Ela não armazena os dados fisicamente por si só; em vez disso, ela armazena a definição da consulta. Quando você consulta uma visão, o SGBD executa a consulta subjacente e retorna o resultado.

Por que usar Visões?

Principais motivos:

Criando e Usando Visões

Para criar uma visão, usa-se a sintaxe CREATE VIEW.

Exemplo: Criar uma visão para mostrar o histórico de pedidos de cada cliente.

CREATE VIEW historico_pedidos_clientes AS
SELECT
    c.nome AS nome_cliente,
    p.id_pedido,
    p.data_pedido,
    p.valor_total
FROM
    clientes c
JOIN
    pedidos p ON c.id_cliente = p.id_cliente;

Depois de criada, a visão pode ser consultada como uma tabela normal:

SELECT nome_cliente, id_pedido
FROM historico_pedidos_clientes
WHERE nome_cliente = 'João Silva';

Para remover uma visão, use o comando DROP VIEW.

DROP VIEW historico_pedidos_clientes;

Índices (Indexes)

Um índice é uma estrutura de dados que melhora a velocidade de operações de recuperação de dados em uma tabela, assim como o índice de um livro acelera a busca por um tópico. Em vez de ler a tabela inteira (full table scan), o SGBD pode usar o índice para encontrar rapidamente a localização dos dados relevantes.

Quando usar Índices?