Ler tabela de DB 1x ou múltiplas vezes?

Bom dia a todos,

Eu tenho um banco de dados com uma tabela de clientes.

O que é melhor conceitualmente (e se possível, porquê?): Ler a tabela 1x e salvar em uma ArrayList e escrever métodos que “consultam” essa lista ou escrever métodos com queries diferentes para cada consulta?

Exemplo: para saber qual cliente está ativo eu posso ler a lista de clientes do banco de dados 1x e consultar o atributo “isActive” de um determinado cliente quando precisar OU eu posso fazer um método com uma query que recebe o nome do cliente como parametro e retorna o valor da coluna “isActive” na tabela quando necessário.

Espero que dê pra entender o que eu quero dizer, rs.

Agradeco desde já por orientacoes!

É só pensar um pouco. Um banco de dados normalmente será manipulado por vários clientes. Se um cliente altera um dado na tabela e o outro cliente está consultando algo de um cache como você propôs, gerenciado do lado do cliente, na aplicação, esse cliente que lê algo que foi buscado há sei lá, um minuto atrás, corre o risco de estar vendo algo do passado que não reflete mais o estado atual do banco de dados. Se seu medo é performance, fica tranquila, o SGBD é suficientemente esperto para ele mesmo fazer o cache das consultas e só realmente realizar a busca efetivamente nas tabelas quando for necessário de fato.

Ou seja, sempre faça a consulta e deixa o SGBD se virar. Isso, na esmagadora maioria das vezes, não é problema seu.

1 curtida

Muito obrigada! eu realmente nao pensei nisso pq é um programa muito simples pra faculdade, nao tinha pensado nessa magnitude.

1 curtida