Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

sql сървърната заявка се изпълнява бавно от java

Имах подобен проблем, с много проста заявка (SELECT . FROM . WHERE =.), която отнема до 10 секунди за връщане на един ред при използване на jdbc връзка в Java, докато отнема само 0,01 s в sqlshell. Проблемът беше същият, независимо дали използвах официалния MS SQL драйвер или JTDS драйвера.

Решението беше да се настрои това свойство в URL адреса на jdbc:sendStringParametersAsUnicode=false

Пълен пример, ако използвате официален драйвер на MS SQL:jdbc:sqlserver://yourserver;instanceName=yourInstance;databaseName=yourDBName;sendStringParametersAsUnicode=false;

Инструкции, ако използвате различни jdbc драйвери и по-подробна информация за проблема тук:http://emransharif.blogspot.fr/2011/07/performance-issues-with-jdbc-drivers.html

В моя случай имах 30 милиона + записа в таблицата, от която търсех. Продължителността за изпълнение на заявката премина от повече от 10 секунди до приблизително 0,01 секунди след прилагане на свойството.

Надяваме се, че това ще помогне на някого!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tsql скрипт за намиране на таблици, които не се използват от съхранени процедури, изгледи, функции и т.н.?

  2. Върнете всички файлови групи за текущата база данни в SQL Server

  3. Как да разделя низ, за ​​да мога да получа достъп до елемент x?

  4. Активиране на пълнотекстово търсене при изглед с вътрешно свързване

  5. Как да получите списък с таблици без ограничение на първичния ключ в база данни на SQL Server - SQL Server / T-SQL Урок, част 58