Ver:
- Problema nº 15:ativar lotes ao retornar chaves geradas
- Problema nº 195:o PgJDBC não canaliza lotes que retornam chaves geradas
Mesmo quando as chaves geradas são solicitadas, a consulta estendida protocolo é usado para garantir que o texto da consulta não precise ser enviado todas as vezes, apenas os parâmetros.
Francamente, o lote JDBC não é uma ótima solução em qualquer caso. É fácil de usar para o desenvolvedor de aplicativos, mas muito abaixo do ideal para desempenho, pois o servidor ainda precisa executar cada instrução individualmente - embora não parse e planejar individualmente, desde que você use declarações preparadas.
Se o autocommit estiver ativado, o desempenho será absolutamente patético porque cada instrução aciona um commit. Mesmo com o autocommit desligado, muitas pequenas instruções não serão particularmente rápidas, mesmo se você puder eliminar os atrasos de ida e volta.
Uma solução melhor para muitos
UPDATE
simples s pode ser:COPY
novos dados em umTEMPORARY
ouUNLOGGED
tabela; e- Usar
UPDATE ... FROM
paraUPDATE
com umJOIN
contra a tabela copiada
Para COPY, consulte os documentos do PgJDBC e o
COPY
documentação nos documentos do servidor
. Muitas vezes você descobrirá que é possível ajustar as coisas para que seu aplicativo não precise enviar todos esses
UPDATE
individuais s em tudo.