Boas praticas Java + Banco de dados (MYSQL)

Olá pessoal, faz um bom tempo que desenvolvo sistemas em algumas linguagens como C e Java, me surgiu uma dúvida aqui sobre boas práticas, talvez alguém mais experiente possa me ajudar ou alguém que tenha certificação.

Hoje quando faço requisições ao banco de dados através de algum software é assim:

1 - CONEXÃO COM O BANCO
2 - INSERT, SELECT, ETC…
3 - FECHAR CONEXÃO COM O BANCO

Esse processo acima se repete no tempo que o sistema está sendo utilizado em produção, ou seja toda vez que é executado algo no banco, conecta, executa e fecha conexão.

Porém em sistemas grandes, percebo um pequeno delay de performance.

Ainda não testei em produção, mas o ideal seria assim?

0 - SISTEMA ABRE
1 - CONEXAO COM O BANCO DE DADOS (Global)
2 - INSERT, SELECT, ETC… (Repete quantas vezes necessárias, durante execução)
3 - SISTEMA FECHA
4 - FECHA CONEXÃO COM BANCO

Que seria ao iniciar o sistema cria uma conexão global com o banco de dados, e nessa conexão global executa as queries necessárias e a conexão fecha apenas quando o sistema fechar.

Qual prática ideal? Não apenas o banco mas algumas API’S também tem esse mesmo processo.

Eu sempre utilizo o segundo cenário!

Há quem defenda um ou outro, eu particularmente prefiro a segunda forma.

1 curtida

Se for web abre e feche a cada requisição, utilizando pool de conexões.

Se for desktop client/server pode deixar aberto enquanto o usuário não fechar.

2 curtidas