🧠 Explicação

Um INDEX (índice) é uma estrutura auxiliar que o DB2 usa pra acelerar as buscas, especialmente em colunas muito consultadas ou envolvidas em WHERE, JOIN e ORDER BY.

Pensa no índice como o índice de um livro: ele não muda o conteúdo, mas te leva direto ao ponto.

Sem índice, o banco tem que varrer tudo (full scan); com índice, ele vai direto onde precisa.

🔧 Usos mais comuns

  • Acelerar buscas por chave primária, colunas únicas ou filtros frequentes.

  • Otimizar joins entre tabelas grandes.

  • Melhorar performance de ordenações (ORDER BY).

  • Criar índice exclusivo pra impedir duplicidade (como CPF ou matrícula).

  • Suporte pra UNIQUE, PRIMARY KEY e FOREIGN KEY (muitos deles geram índice automático).

🧾 Sintaxe

Criar um índice simples:

CREATE INDEX nome_do_indice
ON nome_da_tabela (coluna1 [ASC|DESC]);

Criar índice único:

CREATE UNIQUE INDEX nome_do_indice
ON nome_da_tabela (coluna1);

Excluir índice:

DROP INDEX nome_do_indice;

💻 Exemplo prático

Índice para acelerar buscas por CPF:

CREATE INDEX idx_empregados_cpf
ON empregados (cpf);

Índice exclusivo para matrícula:

CREATE UNIQUE INDEX idx_empregados_matricula
ON empregados (matricula);

Removendo um índice:

DROP INDEX idx_empregados_cpf;

📌 Regras

  • Índices não alteram os dados nem mudam o resultado das consultas.

  • Você pode criar índices em uma ou mais colunas (índice composto).

  • Índices consomem espaço em disco e impactam INSERT/UPDATE/DELETE, pois precisam ser atualizados.

  • O nome do índice precisa ser único no banco, não só na tabela.

  • DB2 pode criar índices automaticamente ao definir PRIMARY KEY, UNIQUE, FOREIGN KEY.

💡 Dicas

  • Crie índice somente em colunas que realmente precisam — índice demais deixa o banco mais lento.

  • Use índice composto com cuidado: a ordem das colunas importa!

  • Evite criar índices em colunas com alta cardinalidade de valores nulos.

  • Consulte o plano de execução (EXPLAIN) pra saber se o índice está sendo usado.

  • Dê nomes significativos (idx_tabela_coluna) pra facilitar manutenção.

 

✅ Conclusão

Índices são armas poderosas pra performance, mas precisam ser usados com consciência. Criar índice à toa é que nem colocar radar em rua de terra: não serve pra nada e ainda atrapalha. O segredo é medir, testar e usar com sabedoria.