Desempenho do MySQL: um DB ou 5 DBs?

1

Segundo você, é melhor ter um único DB com 1.000.000 linhas ou 5 DBs com 200.000 linhas, em leitura / escrita?

    
por Omega 11.02.2011 / 09:28

5 respostas

4

Bem, se dependesse de mim, eu pegaria a mesa com 1.000.000 linhas. Não necessariamente para fins de eficiência, mas porque eu iria perder a cabeça tentando acompanhar os dados armazenados em cinco tabelas diferentes, que são na verdade o mesmo conjunto de dados. Há muitas maneiras de se atirar no pé. Apenas por exemplo, se eu precisar atualizar um registro com uma determinada chave, em qual tabela eu vou olhar?

E, além disso, quando sua abordagem usual falha porque você tem muitos registros em sua tabela, você será forçado a aprender cargas e cargas sobre otimização, e então você realmente ficará muito melhor no gerenciamento de banco de dados!

    
por 11.02.2011 / 09:33
0

Eu usaria uma tabela com um milhão de linhas em um único banco de dados. Mas você pode pesquisar o que é a forma normal do Boyce-Codd e eu tenho certeza que você vai ter uma resposta mais clara.

    
por 11.02.2011 / 14:33
0

A menos que os registros mais antigos tenham campos que foram preteridos e seria um pesadelo converter o registro antigo, não o faça.

Mas você pode parar de inserir nos bancos de dados antigos e iniciar os ids no próximo número em seu banco de dados mais recente.

    
por 11.02.2011 / 14:40
0

Eu assumo pelo DB você significa Table. De qualquer forma, você perde uma informação importante: qual mecanismo de armazenamento você está usando?

Com o MyISAM, a divisão faria alterações, já que usa o Table Locks. Com InnoDB e MVCC, assumo que isso faria uma grande diferença.

    
por 12.02.2011 / 08:51
0

Você não acha que se dividir uma tabela arbitrariamente poderia de alguma forma melhorar o desempenho, então os desenvolvedores do MySQL poderiam ter feito isso internamente?

Se houver algum motivo para que a divisão da tabela possa melhorar o desempenho, você terá apenas um design de tabela ineficiente; tente normalizar / desnormalizar o banco de dados de modo que tais ineficiências possam ser removidas em vez de tentar dividir a tabela arbitrariamente.

    
por 12.02.2011 / 09:20