Estamos enfrentando um problema ao consultar uma tabela que possui aproximadamente 50 milhões de linhas e um tamanho de índice de 4 GB (tamanho da tabela de cerca de 6 GB) resulta no servidor de banco de dados trocando memória e diminuindo drasticamente. Tenho certeza de que isso tem a ver com o tamanho da tabela temporária que está sendo excedido e que está sendo trocado para o disco.
Se eu atualizei meu servidor de banco de dados de 32 GB de RAM para 64 GB de RAM, gostaria de saber se o banco de dados MySQL poderá tirar proveito total dessa memória adicional e não trocar. Analisei algumas das variáveis (por exemplo, KEY_BUFFER_SIZE, etc ...) e elas parecem suportar valores de configuração acima de 64 GB. No entanto, a documentação do MySQL diz que o tmp_table_size atinge o máximo de 4 GB.
Então a atualização de memória valeria a pena? O problema "consultar a tabela grande" se beneficiaria com isso ou não ajudaria devido ao limite de 4 GB? Eu sei que existem outras soluções potencialmente, como reestruturar a tabela para ser particionada de maneiras diferentes, etc ... mas sem alterar nada sobre a tabela, a memória adicional ajudaria?
Além disso, em geral, existem outras variáveis relacionadas à memória que o MySQL não seria capaz de aproveitar ao passar de 32 a 64 GB de RAM?
Estamos usando o Linux de 64 bits (Ubuntu) como nosso servidor de banco de dados.
Obrigado, Galen
Talvez valha a pena dedicar algum tempo e esforço extra para pesquisar o que está causando a troca do sistema antes de gastar dinheiro em memória?
32 GB de memória deixam bastante memória disponível, mesmo depois de carregar a tabela inteira, o índice e o temp_table máximo na memória. Uma pesquisa rápida trouxe essas duas partes da documentação que podem ser relevantes:
fonte
Se você acha que é devido à criação de uma tabela temporária muito grande, considere as maneiras de melhorar a consulta para evitar tabelas temporárias.
Você pode postar no Stackoverflow uma postagem contendo o esquema, a consulta, o plano de explicação e alguns detalhes do problema.
fonte