Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

truy vấn máy chủ sql chạy chậm từ java

Tôi đã gặp vấn đề tương tự, với một yêu cầu rất đơn giản (SELECT. FROM. WHERE =.) Mất tới 10 giây để trả về một hàng duy nhất khi sử dụng kết nối jdbc trong Java, trong khi chỉ mất 0,01 giây trong sqlshell. Vấn đề giống nhau cho dù tôi đang sử dụng trình điều khiển MS SQL chính thức hay trình điều khiển JTDS.

Giải pháp là thiết lập thuộc tính này trong url jdbc: sendStringParametersAsUnicode =false

Ví dụ đầy đủ nếu bạn đang sử dụng trình điều khiển chính thức của MS SQL: jdbc:sqlserver:// yourerver; instanceName =yourInstance; databaseName =yourDBName; sendStringParametersAsUnicode =false;

Hướng dẫn nếu sử dụng các trình điều khiển jdbc khác nhau và các thông tin khác được tiết lộ về sự cố tại đây: http://emransharif.blogspot.fr/2011/07/performance-issues-with-jdbc-drivers.html

Trong trường hợp của tôi, tôi có hơn 30 triệu bản ghi trong bảng mà tôi đang tìm kiếm. Thời gian để hoàn thành yêu cầu tăng từ hơn 10 giây xuống còn khoảng 0,01 giây sau khi áp dụng thuộc tính.

Hy vọng điều này sẽ giúp ai đó!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để so sánh dấu thời gian SQL trong .NET?

  2. Bộ đệm đệm:Nó là gì và nó ảnh hưởng như thế nào đến hiệu suất cơ sở dữ liệu?

  3. Nhập tệp .txt vào SQL Server 2008

  4. Đăng nhập vào Microsoft SQL Server Lỗi:18456

  5. Ràng buộc Khoá ngoại