sql >> Database >  >> RDS >> Sqlserver

sql-serverquery wordt traag uitgevoerd vanuit java

Ik had een soortgelijk probleem, met een heel eenvoudig verzoek (SELECT . FROM . WHERE =.) dat tot 10 seconden duurde om een ​​enkele rij te retourneren bij gebruik van een jdbc-verbinding in Java, terwijl het slechts 0,01s in sqlshell kostte. Het probleem was hetzelfde, of ik nu de officiële MS SQL-driver of de JTDS-driver gebruikte.

De oplossing was om deze eigenschap in te stellen in de jdbc url :sendStringParametersAsUnicode=false

Volledig voorbeeld als u de officiële MS SQL-driver gebruikt:jdbc:sqlserver://yourserver;instanceName=yourInstance;databaseName=yourDBName;sendStringParametersAsUnicode=false;

Instructies bij het gebruik van verschillende jdbc-stuurprogramma's en meer gedetailleerde informatie over het probleem hier:http://emransharif.blogspot.fr/2011/07/performance-issues-with-jdbc-drivers.html

In mijn geval had ik meer dan 30 miljoen records in de tabel waaruit ik zocht. De duur om het verzoek te voltooien ging van meer dan 10 seconden tot ongeveer 0,01 s na het toepassen van de eigenschap.

Ik hoop dat dit iemand zal helpen!



  1. De database 'xxx' kan niet worden geopend omdat het versie 904 is

  2. Opslaglimieten van door de gebruiker gedefinieerde MySQL-variabelen

  3. Oracle gematerialiseerde weergaven met primaire sleutel

  4. Oracle 12cR2 nu in bèta