Estudo de Caso I – Parte 6
Estudo de Caso I – Parte 6
Identificando possíveis campos para índices
Muitas vezes, nos vemos perdidos quando temos que definir índices. Apesar de alguns índices serem explícitos, existe situações, onde ganhar alguns milisegundos é crucial. E é neste momento, que o DBA entra em ação.
Umas das primeiras coisas a ser feita, é a identificação de campos repetidos na claúsula WHERE. Todo campo definido dentro do WHERE, poderia ser adiciona em um índice. Lembrando que a criação de muitos índices, não é a solução.
EXPLAIN ANALYSE SELECT nome, dt_nasc, sexo FROM pessoas WHERE sexo = ‘M’ AND dt_nasc BETWEEN (now() – interval ’28 YEARS’) and now();
— Segunda Condição
EXPLAIN ANALYSE SELECT nome, dt_nasc, sexo FROM pessoas WHERE (nome like ‘%VALE%’ AND sexo = ‘M’ AND dt_nasc < (now() – interval ’28 YEARS’) );
Nossas consultas
Vendo nossas consultas, podemos identificar que os campos sexo e dt_nasc aparecem em nossas duas consultas. Então, criamos um índice que atende nossas duas consultas, essa é a situação perfeita, pois a criação de mais de um índice, não seria a melhor opção em um ambiente crítico.
Conclusão do Estudo de Caso
Vimos que a criação de índices, apesar de simples, pode não resolver e até atrapalhar se feito de forma errada e sem analises. Ambientes pequenos ou médios, onde a quantidade de recursos é suficiente, isso acaba sendo imperceptível, mas em ambientes com muito OLTP e OLAP, sua criação é de extrema importância, e as vezes pode até significar a continuidade do negócio. Visto que aumentar a quantidade de recursos tem um custo muito alto.
Este foi nosso primeiro estudo de caso, acompanhe outros estudos de caso e aprenda a deixar seu postgres tunado.
Related
Tags In
aquino.vale
Categorias
- AI (1)
- Big Data (18)
- Cloud (3)
- Dados Abertos (2)
- Devops (7)
- Liderança (6)
- Linux (13)
- Modelagem (6)
- MongoDB (1)
- NoSQL (11)
- PostgreSQL (26)
- Sem categoria (1)