Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Quando trabalha com o Microsoft JDBC Driver para SQL Server e os objetos Statement e ResultSet que ele fornece, existem várias técnicas que pode usar para melhorar o desempenho e a fiabilidade das suas aplicações.
Utilize o objeto de comando apropriado
Quando usar um dos objetos Statement do driver JDBC, como o SQLServerStatement, SQLServerPreparedStatement ou o objeto SQLServerCallableStatement , certifique-se de que está a usar o objeto apropriado para o trabalho.
- Se não tiver parâmetros OUT, não precisa de usar o objeto SQLServerCallableStatement. Em vez disso, use o SQLServerStatement ou o objeto SQLServerPreparedStatement.
- Se não pretende executar a instrução mais do que uma vez, ou não tiver parâmetros IN ou OUT, não precisa de usar o SQLServerCallableStatement nem o objeto SQLServerPreparedStatement. Em vez disso, use o objeto SQLServerStatement.
Usar a concorrência apropriada para objetos ResultSet
Não peça concorrência atualizável quando cria instruções que produzem conjuntos de resultados, a menos que pretenda realmente atualizar os resultados. O modelo padrão de cursor de avanço único, de leitura única, é o mais rápido para ler pequenos conjuntos de resultados.
Limite o tamanho dos seus conjuntos de resultados
Considere usar o método setMaxRows (ou SET ROWCOUNT ou SELECT TOP N SQL) para limitar o número de linhas devolvidas de conjuntos de resultados potencialmente grandes. Se tiver de lidar com grandes conjuntos de resultados, considere usar um buffer de resposta adaptativo com a cadeia de ligação definida como responseBuffering=adaptive, que é o modo predefinido. Esta abordagem permite à aplicação processar grandes conjuntos de resultados sem necessitar dos cursores do lado do servidor e minimiza o uso de memória da aplicação. Para mais informações, consulte Utilização do buffering adaptativo.
Use o tamanho adequado de busca
Para os cursores de servidor apenas de leitura, a troca é viagens de ida e volta ao servidor versus a quantidade de memória usada no driver. Para cursores de servidor atualizáveis, o tamanho da recolha também influencia a sensibilidade do conjunto de resultados a alterações e simultaneidade no servidor. As atualizações das linhas dentro do buffer de busca atual não são visíveis até que seja emitido um método explícito de refreshRow ou até que o cursor saia do buffer de busca. Buffers de busca grandes terão melhor desempenho (menos viagens de ida e volta ao servidor), mas são menos sensíveis a alterações e reduzem a concorrência no servidor se for usado CONCUR_SS_SCROLL_LOCKS (1009). Para máxima sensibilidade às alterações, use um tamanho de busca de 1. No entanto, esta definição implica uma ida e volta ao servidor por cada linha obtida.
Usar fluxos para grandes parâmetros IN
Use fluxos ou BLOBs e CLOBs que sejam materializados incrementalmente para lidar com a atualização de grandes valores de colunas ou o envio de grandes parâmetros IN. O driver JDBC "fragmenta" estes tipos para o servidor em múltiplas viagens de ida e volta, permitindo-te definir e atualizar valores maiores do que os que cabem na memória.