Quando criar um índice — e quando ele atrapalha
Pergunta
Quando você criaria um índice em uma coluna, e em que situação um índice pode piorar a performance de um sistema?
Resposta esperada
Crie índices em colunas usadas com frequência em WHERE, JOIN ou ORDER BY, especialmente com alta seletividade (muitos valores distintos). Índices aceleram leitura, mas custam em escrita: todo INSERT/UPDATE/DELETE precisa atualizar cada índice da tabela. Em tabelas com escrita muito frequente e poucas leituras filtradas, índices demais degradam performance de escrita sem ganho proporcional de leitura. Colunas com baixa seletividade (ex: um campo booleano) raramente compensam um índice próprio.
Por que perguntam isso
A resposta madura reconhece o trade-off leitura/escrita, não apenas 'índice deixa mais rápido'. Bom sinal: o candidato pergunta sobre o padrão de acesso (mais leitura ou mais escrita?) antes de responder.