a questão da criação e manutenção de índices ser uma “troca” está implícita.
qualquer novo índice (leia-se catálogo) que for criado vai demandar um esforço extra por parte do SGBD.
obviamente índices são criados para ajudarem nas operações de SELECT, mas eles impactam INSERT, DELETE e UPDATE, já que estas operações alteram este catálogo.
porém eu fiz questão de destacar no texto que a criação de índices sobre chaves estrangeiras será benéfica para praticamente TODAS as consultas que usarem a tabela, visto que as junções (JOIN) usarão este índice
então eu considero uma boa prática sempre criar índices em chaves estrangeiras.
a questão se vale a pena criar um índice é extremamente relevante, mas no caso dos índices em FKs o balanço em favor da existência do índice é muito positivo.
aliás isso foi demonstrado no caso descrito neste artigo.
[]s
W