No meu trabalho, fui solicitado a violar a primeira forma normal (repetir grupos em colunas, usando valores vazios / nulos) várias vezes, "por causa do poder de processamento do computador". Em poucas palavras, uma tabela "aluno" deve ter pelo menos 8 campos vazios (por exemplo, telefones: telefone1, telefone2, telefone3 ...) em vez da minha sugestão - uma tabela "telefone" que contém um número de telefone (e possíveis outros metadados) e a chave estrangeira é o número de identificação do aluno. Meu chefe diz que é melhor armazená-los dessa maneira porque "há menos ciclos de CPU e isso importa nas plataformas da Web", em vez de usar relações. Eu digo que, no pior dos casos, é insignificante.
Nesse exemplo, o uso de relações (suponha que as tabelas sejam preenchidas com muitos registros em um aplicativo da Web de tamanho médio) é notavelmente mais lento que o uso desse tipo de esquema de tabela?
fonte
Respostas:
Não vejo como alguém poderia fazer tal afirmação sem ter fatos reais para apoiá-la. Se suas consultas estiverem vinculadas à CPU, você deve procurar maneiras de reduzir esse gargalo.
Parece que seu chefe acha que um banco de dados desnormalizado terá melhor desempenho, mas não sei o suficiente sobre seu aplicativo para dizer se isso está certo ou não. Qual será o número esperado de exclusões, atualizações e inserções para esta tabela?
Eu esperaria que esse design desnormalizado possa resultar em uma quantidade reduzida de tempo de CPU, mas esperaria que a E / S do disco aumentasse. E as leituras físicas do disco serão muito mais caras que um ciclo de CPU, portanto, talvez seu chefe tenha uma métrica muito específica a ser atendida (CPU) e, como resultado, queira um design muito específico? Nesse caso, eu simplesmente criaria o que é solicitado e manteria as métricas no custo da CPU para as consultas que estão sendo executadas. Se você observar um aumento no tempo, poderá sugerir algumas alterações no design.
De fato, é provavelmente uma boa idéia obter uma lista de todas as métricas que seu chefe deseja ver e acompanhar essas medidas ao longo do tempo.
fonte