Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

kwerenda serwera sql działa wolno z java

Miałem podobny problem, z bardzo prostym żądaniem (SELECT . FROM . WHERE =.) zajmującym do 10 sekund na zwrócenie pojedynczego wiersza przy korzystaniu z połączenia jdbc w Javie, podczas gdy w sqlshell zabierało tylko 0,01 s. Problem był taki sam, niezależnie od tego, czy używałem oficjalnego sterownika MS SQL, czy sterownika JTDS.

Rozwiązaniem było ustawienie tej właściwości w adresie URL jdbc :sendStringParametersAsUnicode=false

Pełny przykład, jeśli używasz oficjalnego sterownika MS SQL:jdbc:sqlserver://twójserwer;instanceName=twojainstancja;databaseName=twoja_nazwa_bazy_danych;sendStringParametersAsUnicode=false;

Instrukcje dotyczące korzystania z różnych sterowników jdbc i bardziej szczegółowe informacje o problemie znajdują się tutaj:http://emransharif.blogspot.fr/2011/07/performance-issues-with-jdbc-drivers.html

W moim przypadku w tabeli, z której szukałem, miałem ponad 30 milionów rekordów. Czas trwania żądania wydłużył się z ponad 10 sekund do około 0,01 s po zastosowaniu właściwości.

Mam nadzieję, że to komuś pomoże!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kod stanu błędu strony internetowej SSRS 500

  2. SQL Server zablokował dostęp do procedury „sys.sp_OACreate” składnika „Ole Automation Procedures”

  3. SQL 2008:Wyłącz słowa stop dla zapytania wyszukiwania pełnotekstowego

  4. Zmień wartości NULL w formacie Datetime na pusty ciąg

  5. Jak znaleźć indeksy, które mają Statistics_norecompute =ON?