Como criar índices no banco de dados para acelerar consultas lentas
Oi! Aqui é a Sensei da GeHost 🥋 e hoje eu vou te ensinar um truque que costuma resolver boa parte das reclamações de "meu site tá lento". Calma que não precisa ser programador pra entender — vamos com calma, passo a passo.
Primeiro, o que é um "índice" de banco de dados?
Pensa num livro bem grosso, sem nenhum índice remissivo no final. Se alguém te pedir "encontra a página que fala sobre tal assunto", você vai ter que folhear o livro inteiro, página por página, até achar. Cansativo, né?
Agora imagina esse mesmo livro com um índice no final, organizado por assunto, te dizendo exatamente em qual página está cada coisa. Muito mais rápido!
É exatamente isso que um índice de banco de dados faz: ele cria um "atalho organizado" para que o sistema encontre as informações sem precisar varrer a tabela inteira toda vez que alguém faz uma busca no seu site.
💡 Dica da Sensei: se o seu site (loja virtual, sistema de cadastro, blog com muitos posts, etc.) começou a ficar lento justamente nas telas de busca, filtro ou listagem, é bem provável que um índice bem colocado resolva o problema.
Quando vale a pena criar um índice?
- Quando uma tela do site demora pra carregar uma lista (ex.: lista de produtos, pedidos, clientes).
- Quando existe um campo de busca/filtro que o visitante usa bastante (ex.: buscar por e-mail, por CPF, por nome, por data).
- Quando a tabela do banco tem muitos registros (milhares ou mais) e só tende a crescer.
Se o seu site é pequeno e a tabela tem poucos registros, geralmente nem precisa se preocupar com isso ainda — o índice brilha mesmo é quando o volume de dados cresce.
Passo a passo: acessando seu banco de dados
- Entre no cPanel da sua hospedagem GeHost (o acesso fica disponível no seu painel.gehost.com.br).
- Procure o ícone "phpMyAdmin" ou a seção "Bancos de Dados MySQL" dentro do cPanel.
- Selecione o banco de dados do seu site e abra o phpMyAdmin — é por ali que a mágica acontece.
- No phpMyAdmin, clique na tabela onde a consulta está lenta (por exemplo, a tabela de pedidos ou de clientes).
Passo a passo: criando o índice
Dentro do phpMyAdmin existem duas formas de fazer isso — escolha a que for mais confortável pra você:
Opção 1 — pela interface visual (mais fácil para leigos)
- Com a tabela aberta, vá até a aba "Estrutura".
- Encontre a coluna que costuma ser usada nas buscas/filtros (ex.:
email,data_pedido,cpf). - Na linha dessa coluna, procure a opção "Índice" e clique para adicionar.
- Confirme e pronto — o índice já foi criado.
Opção 2 — usando um comando SQL simples
Se você já tem alguma familiaridade com SQL, dá pra usar o campo "SQL" do phpMyAdmin e rodar algo como:
CREATE INDEX idx_email ON clientes (email);
Isso cria um índice chamado idx_email na coluna email da tabela clientes. Basta trocar pelos nomes reais da sua tabela e coluna.
⚠️ Atenção: criar índice em uma tabela muito grande pode levar alguns minutos e deixar o site levemente mais lento durante esse processo. Se puder, faça isso em um horário de menor movimento.
Cuidados importantes antes de sair criando índice em tudo
- Nem tudo precisa de índice. Colunas que quase nunca são usadas em buscas/filtros não trazem ganho e ainda ocupam espaço extra no banco.
- Excesso de índices também atrapalha — cada vez que você insere ou atualiza um registro, o banco precisa atualizar todos os índices daquela tabela, o que pode deixar cadastros/edições mais lentos.
- Faça um de cada vez e observe se a lentidão realmente melhorou antes de criar outro.
Não se sentiu confortável em mexer sozinho?
Sem problema nenhum! Esse é exatamente o tipo de ajuste técnico que nossa equipe de suporte pode fazer por você. Abra um chamado pelo painel.gehost.com.br explicando qual tela do site está lenta, e a gente investiga e aplica o índice certo pra sua situação.
🥋 Resumo da Sensei: índice é como o índice de um livro — ajuda o banco a "ir direto na página certa" em vez de ler tudo. Use com moderação, teste um de cada vez, e conte com a gente se precisar de uma mãozinha.