Trilha Técnica
Objetivo: dominar índices, transações, tipos de bancos e boas práticas de consulta e integridade.
1) Índices
- Por que: acelerar buscas e JOINs reduzindo I/O.
- Como: escolha colunas seletivas, avalie EXPLAIN/EXPLAIN ANALYZE e evite sobreindexação.
-- Índice para busca por email
CREATE INDEX idx_cliente_email ON cliente (email);
-- Investigue plano de execução (PostgreSQL)
EXPLAIN ANALYZE SELECT * FROM cliente WHERE email = 'ana@example.com';
2) Transações e Isolamento
- Por que: garantir ACID, consistência e recuperação.
- Como: delimite transações curtas, escolha nível de isolamento conforme risco (READ COMMITTED, REPEATABLE READ, SERIALIZABLE).
BEGIN;
UPDATE conta SET saldo = saldo - 100 WHERE id = 1;
UPDATE conta SET saldo = saldo + 100 WHERE id = 2;
COMMIT;
3) Tipos de Bancos
- Relacional: schema rígido, SQL, integridade referencial, ideal para OLTP.
- Documento: JSON/BSON, flexível, bom para conteúdo variável.
- Chave‑valor: latência baixíssima, cache/sessões.
- Colunar: leitura analítica massiva (OLAP).
- Grafo: relações e caminhos complexos.
- Séries temporais: métricas e janelas de tempo.
- Busca: texto livre e relevância.
Como escolher: defina o caso de uso (OLTP/OLAP), consistência x disponibilidade, latência, custo e time.
4) Boas práticas de SQL
- Evite SELECT *, prefira colunas necessárias.
- Use parâmetros preparados para segurança e cache de planos.
- Monitore consultas lentas e crie índices com base em evidência (EXPLAIN).