Eu estava estudando sobre como e quanta memória alocada para cada thread de conexão e encontrei abaixo o tutorial do MySQL:
http://dev.mysql.com/doc/refman/5.1/en/memory-use.html
Há um ponto mencionado abaixo que não consigo entender.
- Quando um thread não é mais necessário, a memória alocada para ele é liberada e retornada ao sistema, a menos que o thread volte para o cache de threads. Nesse caso, a memória permanece alocada.
Minhas preocupações são as seguintes:
- Isso significa que o thread ocupou a memória mesmo que o sistema esteja usando threads do cache?
- Um cache no thread ainda usa memória?
eu escrevi essas postagens
Mar 28, 2014
: MySQL não está liberando memóriaApr 24, 2012
: Quanto custa abrir e fechar uma conexão de banco de dados?May 24, 2011
: O que são conexões de usuário - quando são criadas e destruídas?e discutiu os muitos buffers que são alocados para cada conexão. Eles fazem parte da RAM e não estão encapsulados no cache. Uma vez que os buffers são definidos com base em se está definido
my.cnf
ou padrão se não estiver, não faria sentido que a memória fosse liberada se um thread precisasse ser reutilizado e definiria seus buffers para os mesmos tamanhos novamente. Como mencionei em Quão caro é abrir e fechar uma conexão de banco de dados? seria uma operação cara desalocar e alocar imediatamente os buffers.Portanto, no que diz respeito às suas perguntas reais
A resposta para ambas seria sim