Os índices são essenciais para qualquer banco de dados.
Falando em termos "leigos", índices são... bem, exatamente isso. Você pode pensar em um índice como uma segunda tabela oculta que armazena duas coisas:os dados classificados e um ponteiro para sua posição na tabela.
Algumas regras básicas sobre a criação de índices:
- Crie índices em cada campo que é (ou será) usado em junções.
- Crie índices em todos os campos nos quais você deseja realizar
where
com frequência condições. - Evite criar índices em tudo. Crie um índice nos campos relevantes de cada tabela e use relações para recuperar os dados desejados.
- Evite criar índices em
double
campos, a menos que seja absolutamente necessário. - Evite criar índices em
varchar
campos, a menos que seja absolutamente necessário.
Eu recomendo que você leia isto:http://dev. mysql.com/doc/refman/5.5/en/using-explain.html