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

Mengapa kueri Microsoft SQL Server 2012 membutuhkan waktu beberapa menit dari JDBC 4.0 tetapi detik di Management Studio?

Buffer adaptif adalah jawaban yang bagus. Saya juga merekomendasikan untuk memeriksa SET koneksi ' pilihan melalui SQL Server Profiler.

Saat Anda memulai pelacakan, pastikan ExistingConnections dipilih. Bandingkan SPID dari koneksi JDBC dan koneksi SSMS. ARITHABORT terlintas dalam pikiran sebagai salah satu yang saya lihat menyebabkan perbedaan kinerja antara driver SSMS dan JDBC. Microsoft secara singkat menyebutkannya di sini:http://msdn.microsoft.com/en-us/library/ms190306.aspx. Informasi Stack Exchange di sini:https://dba.stackexchange.com/questions/9840/why-would-set-arithabort-on-dramatically-speed-up-a-query

Di Oracle, saya telah melihat dampak besar dengan bermain dengan setFetchSize metode pada Statement / PreparedStatement obyek. Rupanya, pengandar SQL Server tidak mendukung metode itu. Namun, ada metode internal di driver untuk itu. Lihat Menyetel prefetch baris default di SQL Server menggunakan driver JDBC untuk detailnya.

Juga, apa yang Anda lakukan di while (rs.next()) lingkaran? Coba lakukan apa pun selain membaca kolom, seperti rs.getInt(1) . Lihat apa yang terjadi. Jika itu terbang, itu menunjukkan kemacetan dalam pemrosesan sebelumnya dari kumpulan hasil Anda. Jika masih lambat, maka masalahnya pasti ada di driver atau database.

Anda dapat menggunakan SQL Server Profiler untuk membandingkan eksekusi saat mereka masuk melalui JDBC dan saat Anda menjalankannya melalui SSMS. Bandingkan CPU, baca, tulis, dan durasi. Jika mereka berbeda, maka rencana eksekusi mungkin berbeda, yang mengarahkan saya kembali ke hal pertama yang saya sebutkan:SET pilihan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instalasi SQL Server 2017

  2. Cara Mengubah Tipe Data Kolom di SQL Server (T-SQL)

  3. 5 Manfaat Pemantauan Kinerja Basis Data Proaktif

  4. SQL Server datetime SEPERTI pilih?

  5. SQL Server 2005 Pivot pada Jumlah Kolom yang Tidak Diketahui