Base de conhecimento
1000 perguntas frequentes, 500 tutoriais e vídeos explicativos. Aqui, você encontra apenas soluções!
Otimizar as consultas MySQL
Este guia foi criado para ajudá-lo a otimizar e reduzir o tamanho de seus bancos de dados na Infomaniak.
Introdução
- O número e o tamanho dos bancos de dados são ilimitados.
- No entanto, é crucial otimizar suas tabelas (por meio de índices) para evitar sobrecarregar o servidor e garantir uma exibição rápida do seu site, especialmente quando o volume de dados aumenta.
Otimizar as consultas
Os índices são essenciais para o desempenho: eles funcionam como o índice de um livro, permitindo que o MySQL/MariaDB encontre uma informação sem ler todas as páginas. Sem índices, o servidor deve realizar uma "varredura completa" da tabela, o que consome muitos recursos.
Um índice é particularmente eficaz nas colunas usadas para filtrar os resultados (cláusula WHERE), para realizar junções entre tabelas (JOIN) ou para ordenar os dados (ORDER BY).
Analisar com EXPLAIN
Antes de adicionar um índice, é preciso identificar a consulta lenta. O comando EXPLAIN (disponível também por meio da interface do phpMyAdmin) permite simular a consulta.
Observe a coluna "rows" (número de linhas analisadas) e a coluna "key" (chave utilizada). Se "rows" for alto e "key" estiver vazio (NULL), é altamente recomendável criar um índice.
Adicionar índices
Para adicionar um índice, você pode usar a guia "Estrutura" do phpMyAdmin ou o seguinte comando SQL:
ALTER TABLE nom_de_table ADD INDEX nom_index (colonne_cible);Observação: indexe apenas as colunas necessárias. Muitos índices podem retardar a adição ou modificação de dados (INSERT/UPDATE).
Saiba mais / Referências
Documentação MySQL 8.0: Otimização e Índices
Documentação MySQL 8.0: Entendendo o EXPLAIN
Link para esta FAQ: https://faq.infomaniak.com/377
Esta seção de perguntas frequentes foi útil?