Eu diria que sim. Toda vez que uma conexão é fechada, o MySQL compara o número de threads inativos no cache de encadeamentos com o valor de thread_cache_size
. Se já houver muitos encadeamentos no cache, o encadeamento que serve a sessão de desconexão será destruído. Caso contrário, o encadeamento é descartado no cache.
Cada vez que uma nova conexão é feita, o servidor verificará o cache de segmento para ver se há um disponível no cache para atender a nova conexão. Em caso afirmativo, ele é removido do cache e atribuído à nova conexão. Se não, um novo segmento é gerado.
Evidentemente, reutilizar um encadeamento é uma operação menos intensiva do que criar e destruir, portanto, ter um cache de encadeamento diferente de zero é útil, especialmente quando você está se conectando e desconectando com freqüência ... com o custo provável de aumentar a memória utilização um pouco, uma vez que os threads no cache (pelo que eu posso dizer) não liberam nenhuma memória que eles alocaram para si mesmos, mesmo quando essa memória está acima da linha de base que é alocada para cada novo thread.
O contador threads_created
informa quantas conexões não puderam ser atendidas do cache de encadeamentos.