Embora principalmente eu ajude meu cliente com o ajuste de desempenho do SQL Server por meio de verificação abrangente de integridade do desempenho do banco de dados , houve momentos em que ajudei meus clientes com o MySQL Performance quando conheço a solução. Vamos discutir Slow Query e innodb_buffer_pool_size.
Durante um recente contrato de consultoria, o cliente teve uma consulta muito rápida no SQL Server, mas muito lenta no MySQL. O poder do hardware foi praticamente o mesmo para a instalação. Eles queriam que eu os ajudasse a entender por que a consulta do MySQL estava rodando tão devagar enquanto a outra estava rodando muito rápido.
Fizemos alguns testes e alteramos muitos parâmetros de configuração. No entanto, não tivemos muito sucesso. Depois de um tempo, demos uma olhada no arquivo de configuração do MySQL. Você pode encontrar o arquivo de configuração do MySQL no local aqui no Linux:/etc/mysql/my.conf
Neste arquivo, encontramos um valor innodb_buffer_pool_size e foi definido para um valor muito lento. Alteramos o valor dessa variável para um valor maior (de MB para GB) e pudemos ver imediatamente a melhoria de desempenho da consulta. Era uma solução tão simples para um problema que todos passamos muito tempo resolvendo.
Você também pode encontrar o valor de uma variável executando o seguinte script:
show variables like 'inno%'
Não se esqueça de reiniciar os serviços MySQL após alterar o valor do arquivo de configuração ou não terá nenhum efeito.
Se você gostou deste blog, não se esqueça de se inscrever no meu canal do YouTube - SQL in Sixty Seconds .