Criando índices no MySQL
03 Dec 2014A criação de índices em tabelas do MySQL é um recurso indispensável na otimização de consultas. Através da criação de índices, o MySQL consegue encontrar os dados mais facilmente, evitando o trabalho de ter que percorrer cada registro da tabela. Em tabelas com muitos registros, o ganho de desempenho é monstruoso.
Vamos supor que possuímos uma tabela de vendas (venda_produtos) e vamos de criar um índice no campo id_produto. Para realizar esta operação, basta utilizar a sintaxe:
CREATE INDEX
venda_produto.idx_id_produto ON venda_produto(id_produto)
No exemplo acima, criamos um índice chamado venda_produto.idx_id_produto na tabela venda_produto, onde o campo a ser indexado é id_produto.
A partir de agora as consultas que utilizam o campo id_produto como critério na tabela venda_produto ficarão muito mais rápidas.
Em caso de campos muito longos, você também pode especificar um tamanho para o índice, por exemplo:
CREATE INDEX
venda_produto.idx_id_produto ON venda_produto(id_produto(2))
No exemplo acima informamos que o índice deve levar em consideração apenas os 2 primeiros dígitos do campo id_produto.
Tome muito cuidado ao criar índices. Faça um estudo e veja quais campos estão consumindo mais processamento na hora das consultas antes de criá-los.
Até a próxima 😉