Índices no MySQL: o atalho que faz suas consultas voarem
Olá! Aqui é a Sensei da GeHost. Hoje vou te ensinar um truque simples que separa um site rápido de um site lento: os índices do MySQL. Não se preocupe se você nunca mexeu em banco de dados — vou explicar com calma, passo a passo, como se estivéssemos tomando um café.
O que é um índice, afinal?
Pense em um livro grosso sem sumário. Se você quer achar a página que fala sobre "frete grátis", precisa folhear o livro inteiro até encontrar. Agora imagine que esse livro tem um índice remissivo no final, te dizendo exatamente em qual página está cada assunto. É isso que um índice faz no seu banco de dados: em vez do MySQL "folhear" tabela inteira (o que chamamos de varredura completa), ele vai direto ao ponto.
Isso é especialmente importante quando sua tabela cresce — um site com poucos pedidos ou poucos usuários nem sente diferença, mas quando os registros passam de milhares, uma consulta sem índice pode ficar visivelmente lenta.
Passo 1: acesse o banco de dados pelo cPanel
Tudo começa no seu painel de hospedagem. Faça login no cPanel e procure o ícone "Bancos de Dados MySQL" ou "phpMyAdmin" (é por ele que vamos criar o índice, de forma visual, sem precisar decorar comandos).
- No cPanel, clique em phpMyAdmin.
- No menu à esquerda, escolha o banco de dados do seu site.
- Clique na tabela que você quer acelerar (por exemplo, a tabela de pedidos ou de usuários).
Passo 2: identifique a coluna certa para indexar
Aqui está o segredo: você não precisa indexar tudo. Pense em quais colunas você mais usa para buscar, filtrar ou ordenar dados. Alguns exemplos clássicos:
- Uma coluna de e-mail ou CPF usada para login;
- Uma coluna de data usada em relatórios ("pedidos dos últimos 30 dias");
- Uma coluna usada em JOIN entre tabelas (como um "id_cliente" que liga pedidos a clientes).
Dica da Sensei: se uma coluna aparece com frequência depois de um "WHERE", "ORDER BY" ou "JOIN" nas consultas do seu site, ela é uma ótima candidata a receber um índice.
Passo 3: criando o índice pelo phpMyAdmin
- Com a tabela aberta, clique na aba "Estrutura".
- Você verá a lista de colunas da tabela. Marque a caixinha da coluna que deseja indexar.
- Role até o final da lista de colunas e clique em "Índice" (ou no ícone de índice, geralmente ao lado da coluna).
- Confirme o nome do índice (o phpMyAdmin sugere um automaticamente — pode aceitar) e clique em "Executar" ou "Salvar".
Pronto! O índice já está ativo. As próximas consultas que usarem essa coluna vão ficar mais rápidas automaticamente — você não precisa mudar nada no código do seu site.
Cuidado: mais nem sempre é melhor
Aqui vai um ponto importante que muita gente esquece: índice não é mágica infinita. Cada índice que você cria ocupa espaço em disco e deixa as operações de inserir e atualizar dados um pouquinho mais lentas (porque o MySQL precisa manter o índice atualizado também). Por isso:
- Crie índices só nas colunas que você realmente usa para buscar ou filtrar;
- Evite indexar colunas que mudam de valor com muita frequência sem necessidade;
- Evite indexar colunas muito "repetitivas" (como uma coluna de sim/não), pois o ganho de velocidade é pequeno.
Dica da Sensei: se você não sabe se uma consulta está lenta por falta de índice, o próprio phpMyAdmin tem uma aba de análise da consulta (procure por "Explicar" ou "Explain" ao rodar um SQL). Ela mostra se o MySQL está "varrendo" a tabela inteira.
Ficou com alguma dúvida?
Índices podem parecer técnicos no começo, mas com a prática viram rotina. Se você não se sentir confortável mexendo direto no banco, não tem problema nenhum — abra um chamado com o nosso suporte pelo painel.gehost.com.br e explique qual consulta ou página do seu site está lenta. Vamos te ajudar a encontrar o melhor índice para o seu caso. 💙