Desempenho ruim em programa em Java com acesso a banco de dados remoto

Olá, desenvolvi um programa no qual ele usa um banco de dados, fazendo conexão remota, porém ele demora de 4 a 7 segundos para abrir uma tela que tenha consulta no banco de dados e em quanto não abrir ele fica “travado”, como posso fazer com que ele não demore tanto?

Vc consegue verificar se o maior tempo gasto é para abrir a conexão ou se é para executar qualquer query?

isso parece ser problema de conexão de internet

esse tempo é o tempo de enviar, receber, processar os dados e devolver

poderia ser aumentando o poder de processamento do servidor e/ou melhorando a conexão da internet

Essa não é uma deficiencia do Java.
Pode ser a logica do programa, conexão internet, servidor, banco de dados.

Todavia é uma boa pratica usar pool de conexão e o programa cliente quando for requisitar qualquer coisa do banco de dados não fazer a conexão naquele momento e sim chamando o pool.

Ter camadas é sempre bem vindo, uma do programa servidor, outra do pool com acesso ao banco de dados e outra do cliente.

Cria um web service. Assim a conexão com o banco fica na mesma rede. Mais rápido e mais seguro, não expondo o banco diretamente na internet.