Em nosso servidor web, minha equipe tem criado novos bancos de dados em MySQL para gerenciar backups. Eles simplesmente criam um novo database_DATE e copiam nosso site ao vivo. O que me fez pensar hoje... Ter um banco de dados (sem possibilidade de ser usado) pode afetar o desempenho (memória de adivinhação) do servidor?
Sim você está certo. A memória é usada por bancos de dados inativos
Eu mencionei isso nos seguintes posts ao longo dos anos
Nov 13, 2015
: #1041 - Problema de falta de memória no mysqlApr 22, 2014
: Bancos de dados MySQL inativos consomem memória?Apr 21, 2014
: Adicionando novas tabelas -- o uso de memória aumentaMuitas mesas? Muitas colunas? Claro, isso é menos memória para o mysqld trabalhar.
você acabou de perguntar
Se você nunca acessar uma tabela, nenhum dado ou página de índice tocará no InnoDB Buffer Pool , no MyISAM Key Cache , ou no read_buffer ou read_rnd_buffer de qualquer sessão .
Não obstante, ter muitas tabelas com muitas colunas resultará em nada mais do que muita memória inativa information_schema. Nem o número de linhas em cada tabela nem o tamanho de qualquer uma das tabelas importam.
Caso 1: Uma tabela ou banco de dados extra será eventualmente removido do cache. É inofensivo. Cura (mas não vale a pena): reinicie o mysqld.
Caso 2: O 'sistema' está construindo milhares de tabelas e/ou bancos de dados. Cada tabela/banco de dados envolve pelo menos uma entrada no diretório do SO que a contém. À medida que esse diretório fica mais cheio, as operações do sistema operacional para acessar arquivos/diretórios (portanto, tabelas/bancos de dados) ficam mais lentas. Concedido, leva milhares, talvez dezenas de milhares de tais entradas antes que o impacto seja doloroso, mas há impacto. Cura: Pare de construir tantas tabelas/bancos de dados e
DROP
o excesso.Caso 3: Alguém ou algo faz
SHOW DATABASES
ouSHOW TABLES
ouSELECT ... FROM information_schema ...
e é sensível ao número de tabelas/bancos de dados. Essas ações carregarão coisas na memória, possivelmente estourando algum cache (comotable_open_cache
) Cura: O mesmo que para os casos 1 e 2.Resumindo: quando houver centenas desses bancos de dados, diga-lhes para limpar seu ato! (Até lá, não se preocupe.)