Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

kueri server sql berjalan lambat dari java

Saya memiliki masalah yang sama, dengan permintaan yang sangat sederhana (SELECT . FROM . WHERE =.) membutuhkan waktu hingga 10 detik untuk mengembalikan satu baris saat menggunakan koneksi jdbc di Java, sementara hanya mengambil 0,01 detik di sqlshell. Masalahnya sama apakah saya menggunakan driver MS SQL resmi atau driver JTDS.

Solusinya adalah menyiapkan properti ini di url jdbc :sendStringParametersAsUnicode=false

Contoh lengkap jika Anda menggunakan driver resmi MS SQL :jdbc:sqlserver://yourserver;instanceName=yourInstance;databaseName=yourDBName;sendStringParametersAsUnicode=false;

Petunjuk jika menggunakan driver jdbc yang berbeda dan info lebih rinci tentang masalah di sini:http://emransharif.blogspot.fr/2011/07/performance-issues-with-jdbc-drivers.html

Dalam kasus saya, saya memiliki lebih dari 30 juta catatan di tabel yang saya cari. Durasi untuk menyelesaikan permintaan berubah dari lebih dari 10 detik, menjadi kira-kira 0,01 detik setelah menerapkan properti.

Semoga ini bisa membantu seseorang !



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara saya membuat serial grafik besar objek .NET menjadi SQL Server BLOB tanpa membuat buffer besar?

  2. Lima Pertimbangan Teratas untuk Desain Indeks Basis Data di SQL Server

  3. SQL Alert ketika prosedur tersimpan dijalankan terlalu lama

  4. Tangani beberapa hasil dari prosedur tersimpan dengan SqlQuery

  5. Membuat kolom yang dihitung di SQL Server 2008