Existem diversos motivos para se criar um ou mais índices para uma tabela.
A princípio, a criação do índice facilita uma consulta, pois quando desejamos uma determinada informação ou um range de informações, o banco irá pesquisar primeiramente no índice e trará apeas as informações que necessito, caso contrário terá que pesquisar em toda a tabela para trazer o mesmo grupo de informações…
Pode-se usar os índices como PK (primary key) para evitar duplicidade de informações.
Cria-se índices para fazer relacionamentos entre tabelas, etc…
Muito cuidado com a criação de índices, índices demais é prejudicial ao bom desempenho do banco…