10 dicas para otimizar consultas do MYSQL

Browse By

  1. Use o comando explain

Use instruções INSERT de várias fileiras para armazenar muitas linhas com uma instrução SQL.

O comando explain pode indicar quais os índices utilizados com a consulta especificada e muitas outras informações úteis que podem ajudá-lo a escolher um melhor índice ou consulta.

Exemplo de uso: explique selct * da tabela

explicação de saída de linha

  • tabela-O
  • nome da tabela.
  • tipo: o tipo de
  • junção, dos quais existem vários.

possíveis_keys – Esta
coluna indica quais índices que o MySQL poderia usar para encontrar as linhas nesta
tabela. Se o resultado for NULL, nenhum índice ajudaria com essa consulta.
Você deve então dar uma olhada na estrutura da sua tabela e ver se
existem alguns índices que você poderia criar, o que aumentaria o
desempenho dessa consulta.

  • chave – A  chave realmente usada nesta consulta, ou NULL se nenhum índice foi usado.
  • key_len-O comprimento da chave usada, se houver.
  • ref- Qualquer coluna usada com a chave para recuperar um resultado.
  • linhas – O número de linhas que o MySQL deve examinar para executar a consulta.
  • Informações extra-adicionais sobre como o MySQL irá executar a consulta. Existem várias
    opções, como o uso do índice (um índice foi usado) e onde (uma
    cláusula WHERE foi usada).

2. Use permissões menos complexas

Quanto mais complexa for sua configuração de permissões, mais despesas gerais você tem. O uso de
permissões mais simples ao emitir declarações GRANT permite que o MySQL reduza as
despesas gerais de verificação de permissão quando os clientes executam declarações.

3.  Funções mysql específicas podem ser testadas usando o
comando “benchmark” incorporado
Se o seu problema for com uma expressão ou função específica do MySQL, você pode executar
um teste de tempo invocando a função BENCHMARK () usando o  programa cliente mysql . Sua sintaxe é BENCHMARK (loop_count, expressão). O valor de retorno
é sempre zero, mas mysql imprime uma linha exibindo aproximadamente quanto tempo
a instrução levou para executar

4. Otimizar onde as cláusulas

  • Remova
    parênteses desnecessários
  • COUNT (*)
    em uma única tabela sem WHERE é recuperado diretamente das
    informações da tabela para as tabelas MyISAM e MEMORY. Isso também é feito para qualquer
    expressão NOT NULL quando usada com apenas uma tabela.
  • Se você usar a opção SQL_SMALL_RESULT, o MySQL usa uma tabela temporária na memória

5. Execute  otimizar a tabela

Este comando  desfragmenta uma tabela depois de ter excluído muitas linhas delas.

6. Evite tipos de coluna de comprimento variável quando necessário.

Para as tabelas MyISAM que mudam com freqüência, você deve tentar evitar todas as colunas de variável (VARCHAR, BLOB e TEXT). A tabela usa o formato de linha dinâmico se incluir uma única coluna de comprimento variável.

7. Inserir atrasado

Use o inserto atrasado quando você não precisa saber quando seus dados estão escritos. Isso reduz
o impacto geral da inserção porque muitas linhas podem ser escritas com uma única
gravação de disco.

8. Prioridades de declaração de uso

  • Use INSERT LOW_PRIORITY quando desejar dar instruções SELECT com maior prioridade do
    que suas inserções.
  • Use SELECT HIGH_PRIORITY para obter recuperações que saltam da fila. Ou seja, o SELECT
    é executado mesmo se houver outro cliente em espera.

9. Use inserções de várias filas

Use instruções INSERT de várias fileiras para armazenar muitas linhas com uma instrução SQL.

10. Sincronizar tipos de dados

As colunas com informações idênticas em tabelas diferentes devem ser declaradas com tipos de dados idênticos para que as junções com base nas colunas correspondentes sejam mais rápidas.

Recomendados Para Você:

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *