Blog da SempiHost - Aqui Você Aprende de Verdade!

  • Produtos SempiHost
    • Hospedagem de Sites
    • Revenda de Hospedagem
    • Certificados SSL
    • Registro de Domínios
    • Loja Virtual Magento
  • Artigos
    • Desenvolvimento
      • Bootstrap
      • css
      • GitHub
      • Javascript
      • Mysql
      • Php
    • E-commerce
    • Segurança
    • Tecnologia
    • CMS – Scripts Gratuitos
      • WordPress
      • Magento
      • Joomla
      • PrestaShop
      • Moodle
  • Dicas e Novidades
    • Curiosidades
    • Empreendedorismo
    • Internet
    • Marketing Digital
    • Mobile
    • SEO
  • Visite o Site da Sempihost
Artigos, Desenvolvimento, Mysql

Dicas para otimizar seu MySQL

29 de setembro de 2016

mysql

Suas consultas estáo demorando muito tempo para serem processadas? Está gerando filas de conexões? Todas as operações de banco de dados estão sofrendo muita lentidão? Se respondeu sim para qualquer uma das perguntas, então está na hora de otimizar seu Banco de Dados.  A equipe da SempiHost compartilha nesse artigo algumas dicas para otimização de seu Banco de Dados. Utilizando poucas funções MySQL, o resultado no desempenho de seu sistema pode ser surpreendente.

Dos três modos de otimização (configuração de hardware do servidor, configuração de rede do servidor e otimização de código), apresentamos aqui métodos para otimização por código MySQL.

 

MYSQLREPORT

Como primeiro passo, você pode usar o comando MYSQLREPORT para gerar relatórios sobre bancos de dados que estão atingindo o limite de sua capacidade de uso  e estabelecer um patamar para operações e usos adicionais. Talvez também você se veja obrigado a modificar arquivo de configuração (my.cnf) para registrar o log de consultas lentas. Identifique as consultas que estão processando muito devagar e as possíveis causas.

Para acessar a documentação completa do MYSQLREPORT, recomendamos esse link: man.he.net/man1/mysqlreport.

 

EXPLAIN

Aplique o comando EXPLAIN antes do script SELECT para o MySQL retornar um registro contendo a análise do script para aquela tabela consultada. Esse método retorna algumas informações, como ID, SELECT_TYPE, TABLE,TYPE, KEY_LEN, REF, sendo que as informações que você vai querer para avaliar o desempenho do código são:

  • POSSIBLE_KEYS: mostra os índices disponíveis para serem utilizados naquela consulta;
  • KEY: mostra o índice escolhido pelo MySQL para realizar a consulta;
  • ROW: número estimado de linhas percorridas para encontrar o resultado do SELECT;
  • EXTRA: sugestões de otimização em índices da consultas, como usar DISTINCT, NOT EXIST, USING INDEX, entre outras.

MySQL
1
EXPLAIN SELECT * FROM clientes;


ANALYZE

Use o comando ANALYZE para gerar uma distribuição de chaves, para a tabela a ser utilizada pelo otimizador de consultas do MySQL, para decidir quais índices serão melhores se utilizados em uma consulta.

 

MySQL
1
ANALYZE TABLE clientes;

 

OPTIMIZE 

Se há grandes quantidades de inserções/exclusões em uma tabela, principalmente se a tabela conter muitos campos do tipo varchar, text e blob, o disco será comprometido à várias fragmentações. O comando OPTIMIZEdeve ser usado com freqüência para esse tipo de situação. O comando ira otimizar a movimentação da cabeça de leitura e gravação do disco durante a recuperação de dados, implementando a desfragmentação do disco causada por campos de comprimento variável.

MySQL
1
OPTIMIZE TABLE funcionarios;

 

LOAD DATA INFILE

Para a importação de dados para uma tabela, o comando LOAD DATA INFILE, no lugar do comando SELECT, irá apresentar um desempenho até 20 vezes melhor

MySQL
1
2
LOAD DATA INFILE 'filedata.dat' INTO TABLE clientes (col1,col2,...,colM)
     FIELDS TERMINATED BY '|'");

 

TRUNCATE

O comando DELETE deleta linha por linha, enquanto TRUNCATE deleta todas as linhas de uma só vez. Portanto, se você não estiver interessado no número de linhas suprimidas de uma tabela, como resultado do comandoDELETE, utilize o comando TRUNCATE com a seguinte sintaxe:

MySQL
1
TRUNCATE TABLE clientes;

 

Permições no MySQL

Além de incrementar na segurança da conexão, criar usuários com permissões específicas reduzem o overheaddas verificações das permissões em todos os comandos realizados no MySQL, melhorando assim no desempenho do sistema. Como exemplo, um leitor do blog apenas tem interesse na leitura de postagem, leitura e inserção de comentários. Criar um usuário de nome “leitor”, com acesso apenas a leitura da tabelas ‘postagens’, e acesso a leitura e escrita à tabela ‘comentarios’, será de fato uma boa prática. A segurança será incrementada, já que aquele usuário não terá permissão de acessar, modificar ou deletar outros registros que não são de seu respeito, como também o desempenho, já que o overhead do usuário constará suas propriedades de acessos de antemão.

MySQL
1
GRANT Oper1,...,OperN ON db_name.tb_name TO user_name@computer_name IDENTIFIED BY password;

 

BENCHMARK

Por fim, para saber quanto tempo uma determinada função ou expressão MySQL está demorando, use a função MySQL embutida:

MySQL
1
SELECT BENCHMARK ( 10000, ( SELECT col1 FROM clientes LIMIT 1 ) );

Lembrando que, para passar consultas na função BENCHMARK, obrigatoriamente a query deve retornar 1 linha com 1 coluna.

 

 

Tags | Banco de Dados, Mysql
 0
Compartilhar
Próximo Artigo Dicas do que não fazer no seu E-commerce
Artigo Anterior O que significa ser empreendedor

Últimas Publicações

  • Configurar-email-no-android

    Configurando seu email em smartphone com Android

    Dicas e Novidades
  • login-de-email-webmail

    Configurando assinatura de email com imagem no Roundcube

    Internet
  • como-instalar-um-certificado-ssl-gratuito

    Como instalar um Certificado SSL gratuito na SempiHost

    Segurança
  • como-instalar-e-configurar-certificados-ssl-no-wordpress

    Como instalar e configurar o HTTPS e SSL no WordPress

    Segurança
  • certificado-ssl

    Navegador Chrome da Google avisará usuários sobre sites não seguros

    Artigos
  • as melhores ferramentas para search engine optimization do wordpress

    As Melhores ferramentas de SEO para WordPress para melhorar seu posicionamento no google

    Artigos
  • Como traduzir o seu site WordPress em vários idiomas

    Como traduzir o seu site WordPress em vários idiomas

    Artigos
  • Como manter seu wordpress protegido

    Saiba como proteger seu blog em wordpress com essas dicas

    CMS - Scripts Gratuitos
  • Como iniciar uma carreira empreendedora

    Como iniciar uma carreira empreendedora?

    Dicas e Novidades
  • dicas basicas de seo para iniciantes

    Dicas básicas de SEO para iniciantes

    Dicas e Novidades

Selecione Nossos Posts Por Mês

A SempiHost é uma empresa de hospedagem de sites presente no mercado desde 2006, oferecendo serviços de alta tecnologia e com o melhor suporte técnico do Brasil.

Confiamos no nosso trabalho e por isso oferecemos 30 dias grátis em todos nossos planos de hospedagem.

Últimos Artigos

  • Configurar-email-no-android

    Configurando seu email em smartphone com Android

    Dicas e Novidades
  • login-de-email-webmail

    Configurando assinatura de email com imagem no Roundcube

    Internet
  • como-instalar-um-certificado-ssl-gratuito

    Como instalar um Certificado SSL gratuito na SempiHost

    Segurança
  • como-instalar-e-configurar-certificados-ssl-no-wordpress

    Como instalar e configurar o HTTPS e SSL no WordPress

    Segurança

Encontre-nos no Facebook

Mais Acessados

Artigos CMS - Scripts Gratuitos Desenvolvimento Dicas e Novidades e-Commerce Empreendedorismo Internet Mysql Segurança SEO Tecnologia Wordpress
  • Home
  • Página da Sempihost
  • Hospedagem de Sites
  • Registro de Domínios
  • Fale Conosco

Um blog da empresa SEMPIHOST - Qualidade em Serviços de Internet