Estudo de Caso I – Parte 4

Siga o passa-a-passo corretamente, não altere os nomes aqui definidos, pois, futuramente serão usados para outros exemplos, ou estudos de caso. Se você alterá-los esteja ciente disto.

Continuando nosso estudo de caso, vamos agora criar nossos índices, mas antes vamos entender melhor os índices.

Por que usar índices

Apesar de ser uma pergunta bastante simples, muitos sabem o que são índices, mas não sabem usá-los de forma correta. Não vou aqui conceituar índices, mas faço uma leve explanação de como usá-los e indentificá-los.

Antes de criar um índice para uma tabela, verifique antes, as seguintes situações:

  • Custo/Benefício – Se seu banco de dados faz mais OLTP do que OLAP então reveja a necessidade de criação de índices, pois para cada índice que você cria para uma tabela, maior será o tempo necessário para fazer o DML, ou seja, inserções, exclusões e atualizações. Por isso deve ser pensada, aumentar o tempo de resposta do cliente pode não ser bom em um ambiente transacional com recursos limitados.
  • Índices Compostos – Se decidiu criar um índice, você já pensou em criar um índice composto. Um índice composto, faz com que uma busca com várias filtros seja feita com maior rapidez..
  • Identificar filtros parecidos nas consultas – O comando SELECT, no intuito de descrever a busca por uma consulta, é conceitualmente chamado de DQL e em muitas aplicações existem consultas já pre-definidas, como no caso do JavaEE e sua especificação JPA. Saiba identifica-las, pois, a claúsula WHERE e o que está dentro dela são extremamente importantes para a sua criação.
  • Criando os índices – Procure uma janela para criar seus índices, ou seja, nunca crie seus índices com o ambiente OLTP rodando a 100%, sempre tenha em mente que a criação de um índice é custoso, então lembre-se sempre do seu ambiente.

Baseado nos nossos exemplos, faço um descritivo de cada item acima, explicando da importância e cuidado que devemos ter ao criar índices.

Custo/Benefício

Para um banco de dados que faz muito OLTP, com inserções, exclusões e atualizações a criação de índice não é algo muito interessante, até porque nessas circunstâncias o que mais importa é o tempo de reposta para o cliente, e a criação de índice aumenta este valor, o que pode não ser viável. Agora para banco de dados do tipo OLAP, é sempre bom sua criação.

A criação de índices deve ser feita com cuidade em ambientes OLTP, porque a cada registro inserido, modificado ou excluído faz com que a árvore seja modificada, isso acontece em cada índice criado.

No próximo post, vamos entender melhor os índices parciais e como cria-los.