Não concordo com essa questão. A utilização de índices nem sempre melhorará o desempenho se for realizada a indexição de forma errada e de forma excessiva em tabelas com muitas colunas.
Basicamente é porque cada novo índice exige mais tempo para atualizar o banco em qualquer alteração que afete estes índices. Já vi gente sugerir fazer índices para tudo. Com apenas 6 ou 7 campos, para todas as combinações são necessários dezenas para centenas de índices e maioria precisaria ser atualizada mesmo que altere apenas um campo. O tempo gasto pode afetar a escalabilidade do banco.
Em alguns casos a consulta pode ser prejudicada também. O espaço ocupado prejudicará o cache dos dados/índices que realmente são importantes. Além disto acessar primeiro o índice para depois acessar o dado tem um custo e ele pode ser maior que acessar os dados diretamente em certos padrões. E nem sempre o otimizador do sistema detecta corretamente se ele deve fazer o acesso direto.
Da mesma forma as recomendações automáticas dos sistemas SGDBs para criar índices nem sempre são corretas.
Além disto cada novo índice é um recurso a mais para dar manutenção. Viola o YAGNI. Inclusive dificulta upgrades no modelo de uma base de dados no sistema em produção.
http://pt.stackoverflow.com/questions/23348/%C3%8Dndices-desnecess%C3%A1rios-no-banco-s%C3%A3o-um-problema