Não fechar Prepared Statement para melhorar desempenho do banco

Vocês acham que não fechar prepared statement (ps) pode ajudar a melhorar o tempo de resposta de um bd. Imagine uma aplicação web acessada por múltiplos clientes simultâneos. O DAO acessado por esses clientes abre o ps, executa a ação de insert ou update e deixa o ps aberto, com a intenção de que o ps aberto possa ser usado por outro cliente que teria uma resposta mais rápida. O ps seria “morto” quando a conexão do usuário com o bd expirasse por timeout. Só que não há acesso singleton nem static a esses ps e nem poderia haver. Vocês acham que essa abordagem realmente ajuda a melhorar o desempenho do banco?
Minha opinião: só impacta negativamente, porque os recursos ficam alocados até que o garbage collector rode ou até que haja um timeout. Me corrijam se estiver errada.
Obrigada!

Olha, não fechar o ps realmente só impacta negativamente, pois você têm um “limite de conexões” que o servidor suporta, logo ao não fechar, uma hora o servidor não conseguirá realizar mais conexões.

[]'s

Delita, é como eu penso então. Mas deixa eu esclarecer uma coisa que não expliquei direito. A connection usada para acessar o bd é fechada. O prepared statement é que fica aberto. Assim::

PreparedStatement ps = null;
ps = connection…;

//Lógica de acesso

return (ps.executeUpdate());

A connection é fechada no EJB que chamou o DAO.

Isso não é possível.

Um prepared statement está sempre preso a conexão onde ele foi criado. Se a conexão deixar de existir o prepared statement também deixa de existir no mesmo instante.

Saquei. Então a verdade é que nã faz diferença fechar ou não o prepared statement se você fecha a conexão, é só uma questão de boa prática. Valeu galera!!!