Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Por que e onde usar INDEXes - prós e contras


Bem, você provavelmente pode preencher livros sobre índices, mas resumindo aqui algumas coisas para pensar ao criar um índice:

Embora (principalmente) acelere uma seleção, ele desacelera inserções, atualizações e exclusões porque o mecanismo de banco de dados não precisa gravar apenas os dados, mas o índice também. Um índice precisa de espaço no disco rígido (e muito mais importante) em RAM. Um índice que não pode ser mantido na RAM é bastante inútil. Um índice em uma coluna com apenas alguns valores diferentes não acelera as seleções, porque não pode classificar muitas linhas (por exemplo, uma coluna "gender", que geralmente tem apenas dois valores diferentes - masculino, feminino).

Se você usa MySQL, por exemplo, você pode verificar se o mecanismo usa um índice adicionando "explain" antes do select - para o exemplo acima EXPLAIN SELECT TestField FROM Example WHERE username=XXXX