Criando índices no MySQL

A 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 😉