Banco de dados sendo usado com muita frequencia, tem como diminuir isso?

4 respostas
J

Olá, como vão?

Estou desenvolvendo uma aplicação que salva os dados em um banco de dados, porém estou notando um constante acesso, praticamente todo botão que o usuário aperta, campo preenchido, validação é feito via banco de dados. E as vezes é bem inconveniente.

Existe um jeito (uma prática bem adotada e fundamentada) em que você “traz” os objetos para o seu programa, edita, consulta e depois de tudo, que se salva? (Em vez de ficar usando SELECT em trocentas tabelas, UPDATE etc). Basicamente é dar mais independência do BD e manipular mais os objetos.

Por exemplo tenho um método atualizarCliente() para atualizar eu faço um SELECT de três tabelas, preencho alguns objetos, dai preciso ver se ele não está excluido (coluna EXCLUIDO), depois outro SELECT pra ver se o código dele tá certo, e por fim um UPDATE em todas as tabelas.

Grato

4 Respostas

doug

Olá
Primeiro, tenta fazer essas validações na parte do cliente… deixa muito pouca parte de validação no servidor…
a não ser que seja uma regra de negócio muito, mas muito especifica mesmo…

Segundo, reveja seus relacionamentos de banco de dados… que vc precisa verificar em bastante tabela pelo… jeito
que vc contou… parece que ele anda o seu banco todo.

Terceiro, verifica se vc esta fechando a coneção... isso faz com que seu banco tenha pool de coneção sempre disponivel

Essa são as primeiras coisas que iria verificar, existem outros aspectos…
como por exemplo normalização e estudo de pattern’s para seu projeto…

Espero ter ajudado
flwss

peczenyj

Humm…

Sem ver a aplicação posso dar 2 sugestões:

  1. Pense em algum tipo de cache de informações para algum conteudo que mude pouco, isso pode eliminar alguns selects
  2. Pense em usar Hibernate + Lazy Loadind :wink:
rdantas

Usar o Hibernate seria uma boa solução, mas dá uma olhada também em padrões de projeto. Pela sua descrição, seu projeto parece estar carente disso também.

Espero ter ajudado,

Rodrigo.

Mikhas

thiago.filadelfo:
Olá
Primeiro, tenta fazer essas validações na parte do cliente… deixa muito pouca parte de validação no servidor…
a não ser que seja uma regra de negócio muito, mas muito especifica mesmo…

Segundo, reveja seus relacionamentos de banco de dados… que vc precisa verificar em bastante tabela pelo… jeito
que vc contou… parece que ele anda o seu banco todo.

[b]Terceiro, verifica se vc esta fechando a coneção... isso faz com que seu banco tenha pool de coneção sempre disponivel

[/b]
Essa são as primeiras coisas que iria verificar, existem outros aspectos…
como por exemplo normalização e estudo de pattern’s para seu projeto…

Espero ter ajudado
flwss

Não entendi muito bem essa parte.
Se eu deixar minha conexão sempre aberta o banco de dados fica com seus dados no pool do DB?

Se sim… como que eu faria isso? tipo…
Eu posso abrir a conexão com o banco assim que a aplicação abre… mas é dificil saber quando que a aplicação vai ser finalizada para que eu possa fechar a conexão.

Eu sei que existem frameworks com o hibernate que ja tem essas coisas e tals, mas estou fazendo um projeto para a faculdade e estou implementando tudo na mão mesmo.

valew

Criado 9 de outubro de 2008
Ultima resposta 10 de out. de 2008
Respostas 4
Participantes 5