Como criar índices no MySQL para deixar seu site mais rápido
Oi! Aqui é a Sensei da GeHost 🌸 Hoje eu vou te ensinar um truque simples que pode transformar a velocidade do seu site: os índices do MySQL. Não se assuste com o nome técnico — no fim das contas, é uma ideia bem parecida com algo que você já usa no dia a dia.
O que é um índice, afinal?
Pense num livro grosso, sem índice remissivo. Se você quer achar todas as páginas que falam sobre "gatos", precisa virar página por página até encontrar. Agora imagina esse mesmo livro com um índice no final, organizado em ordem alfabética, apontando exatamente em qual página está cada assunto. Muito mais rápido, né?
É exatamente isso que um índice no banco de dados faz: ele cria um "atalho organizado" para que o MySQL encontre as informações sem precisar ler a tabela inteira, linha por linha.
💡 Dica da Sensei: sem índice, uma consulta em uma tabela com milhares de linhas pode ficar lenta. Com o índice certo, o mesmo resultado pode sair quase instantâneo.
Quando vale a pena criar um índice?
Você não precisa (e nem deve) indexar tudo. Os melhores candidatos são colunas que aparecem com frequência em:
- Cláusulas WHERE (ex: buscar um cliente pelo e-mail)
- Cláusulas ORDER BY (ex: listar pedidos do mais recente para o mais antigo)
- Junções entre tabelas, o famoso JOIN (ex: relacionar pedidos com clientes)
Colunas que você raramente usa em filtros, ou que mudam de valor o tempo todo, geralmente não precisam de índice.
Passo a passo: criando um índice pelo phpMyAdmin
Na GeHost, você gerencia seus bancos de dados através do cPanel, o painel que acompanha sua hospedagem. Vamos lá:
- Acesse o cPanel da sua hospedagem e faça login com seu usuário e senha.
- Procure a seção de Bancos de Dados e clique na ferramenta "Bancos de Dados MySQL" ou no ícone do phpMyAdmin — os dois ficam próximos.
- Dentro do phpMyAdmin, selecione o banco de dados desejado no menu à esquerda.
- Clique na tabela onde você quer criar o índice.
- Vá até a aba "Estrutura". Você verá a lista de colunas da tabela.
- Marque a caixinha da coluna que deseja indexar (por exemplo, a coluna
emailoudata_pedido) e clique em "Índice" na parte inferior da tela. - Confirme a criação. Pronto — o MySQL já vai usar esse índice automaticamente nas próximas consultas que envolverem essa coluna!
Se você prefere usar comandos SQL diretamente (pela aba "SQL" do phpMyAdmin), o comando básico é:
CREATE INDEX nome_do_indice ON nome_da_tabela (nome_da_coluna);
Cuidados importantes
Índice é ótimo, mas como quase tudo na vida, o segredo é o equilíbrio:
- Não crie índices em excesso. Cada índice ocupa espaço e deixa as operações de inserção/atualização (INSERT, UPDATE) um pouco mais lentas, porque o MySQL precisa atualizar o índice também.
- Prefira colunas realmente usadas em filtros e buscas. Indexar uma coluna que quase nunca é consultada só traz custo, sem benefício.
- Combine colunas quando fizer sentido. Se você sempre busca por "cidade" e "estado" juntos, um índice combinando as duas colunas costuma performar melhor do que dois índices separados.
💡 Dica da Sensei: ficou em dúvida se um índice realmente ajudou? Use o comando EXPLAIN antes da sua consulta (ex: EXPLAIN SELECT * FROM clientes WHERE email = '...') para ver se o MySQL está usando o índice ou ainda "varrendo" a tabela inteira.
Precisa de uma mãozinha?
Se você não se sentir confortável mexendo direto no banco de dados, sem problemas! Nossa equipe de suporte pode te orientar. Basta abrir um chamado pelo painel.gehost.com.br explicando qual consulta ou página está lenta, que a gente te ajuda a entender se um índice resolve o caso. 🌸