Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Performance Campo Json x Nova Tabela

Srs, boa tarde.

Com foco em performence eu tenho uma questão e gostaria da ajuda de vocês.

Hoje eu tenho uma tabela com 15 colunas com mais de 500.000 registros. Eu apliquei um ALTER TABLE add mais 4 colunas demorou mais de 15 minutos. Isso causou um impacto no processo de deploy, mas tivemos que fazer.

Com a oportunidade desse curso pensei na possibilidade de add apenas uma colunas em json, que já resolveria o caso, uma vez que são informações que eu não necessito ter uma integridade de 100%. Neste cenário, gostaria da ajuda, pensado em qual decisão seria melhor tomar, com foco em performence.

1-) Criar uma tabela a parte com as4 colunas, e usar PK,FK e index. 2-) Criar apernas um novo campo do tipo json.

Quando eu falo em performence, meu foco é UPDATE, SELECT, INSERT e queries complexas com vários INNERJOINS entre 10 ou mais tabelas. Lembrando que as tabelas possuem PK, FK e index.

Obrigado.

2 respostas
solução!

Oi, Bom dia!

Aqui estão algumas considerações sobre a performance de usar uma coluna JSON ou uma tabela separada para armazenar dados:

  • Coluna JSON:
    • Vantagens:
      • Espaço de armazenamento eficiente: os dados JSON podem ser compactados, economizando espaço de armazenamento no banco de dados.
      • Flexibilidade: os dados JSON podem ser usados para armazenar uma variedade de tipos de dados, incluindo texto, números, datas e objetos complexos.
      • Escalabilidade: os dados JSON podem ser facilmente escalonados para atender às necessidades de crescimento do seu aplicativo.
    • Desvantagens:
      • Integridade de dados: os dados JSON podem ser difíceis de validar e manter sua integridade.
      • Performance: as consultas de dados JSON podem ser lentas, especialmente se os dados forem grandes ou complexos.
  • Tabela separada:
    • Vantagens:
      • Integridade de dados: os dados em uma tabela separada são mais fáceis de validar e manter sua integridade.
      • Performance: as consultas de dados em uma tabela separada podem ser mais rápidas, especialmente se os dados forem grandes ou complexos.
    • Desvantagens:
      • Espaço de armazenamento ineficiente: os dados em uma tabela separada ocupam mais espaço de armazenamento no banco de dados do que os dados em uma coluna JSON.
      • Flexibilidade: os dados em uma tabela separada são menos flexíveis do que os dados em uma coluna JSON.
      • Escalabilidade: os dados em uma tabela separada podem ser mais difíceis de escalar para atender às necessidades de crescimento do seu aplicativo.

Em última análise, a melhor decisão para você dependerá das necessidades específicas do seu aplicativo. Se você precisar de espaço de armazenamento eficiente, flexibilidade e escalabilidade, uma coluna JSON pode ser a melhor opção. Se você precisar de integridade de dados, performance e um baixo custo, uma tabela separada pode ser a melhor opção.

Espero que isso ajude! E se te ajudou marca como solucionado.

Francisco, bom dia.

Ajudou bastante, muito obrigado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software