Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

consulta do servidor sql em execução lenta de java


Eu tive problema semelhante, com uma solicitação muito simples (SELECT . FROM . WHERE =.) levando até 10 segundos para retornar uma única linha ao usar uma conexão jdbc em Java, enquanto levava apenas 0,01s no sqlshell. O problema era o mesmo se eu estivesse usando o driver oficial do MS SQL ou o driver JTDS.

A solução foi configurar essa propriedade na url jdbc :sendStringParametersAsUnicode=false

Exemplo completo se você estiver usando o driver oficial do MS SQL:jdbc:sqlserver://yourserver;instanceName=yourInstance;databaseName=yourDBName;sendStringParametersAsUnicode=false;

Instruções se estiver usando drivers jdbc diferentes e informações mais detalhadas sobre o problema aqui:http://emransharif.blogspot.fr/2011/07/performance-issues-with-jdbc-drivers.html

No meu caso, eu tinha mais de 30 milhões de registros na tabela em que estava pesquisando. O tempo para concluir a solicitação passou de mais de 10 segundos, para aproximadamente 0,01s após a aplicação da propriedade.

Espero que isso ajude alguém!