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

sp_executesql lambat dengan parameter

Tambahkan OPTION (RECOMPILE) di akhir

... AND SensorValue != -32767 OPTION (RECOMPILE) 

Saya menduga Anda mengalami "parameter sniffing"

Jika demikian, kita dapat membiarkannya dengan OPSI atau mempertimbangkan alternatif

Perbarui 1

Artikel berikut akan memperkenalkan Anda pada "parameter sniffing" http://pratchev.blogspot.be/2007/08/parameter-sniffing.html

Saya menyarankan agar Anda mengetahui seluk beluknya karena itu akan membuat Anda lebih memahami internal sql server (yang bisa menggigit).

Jika Anda memahaminya, Anda akan tahu bahwa kompromi dengan opsi kompilasi ulang bisa menjadi penurunan kinerja jika pernyataan dijalankan sangat sering.

Saya pribadi menambahkan opsi kompilasi ulang setelah Saya tahu akar masalahnya adalah mengendus parameter dan membiarkannya kecuali ada masalah kinerja. Menulis ulang pernyataan untuk menghindari sniffing parameter yang buruk menyebabkan hilangnya niat dan ini menurunkan rawatan. Tetapi ada beberapa kasus ketika penulisan ulang dibenarkan (gunakan komentar yang baik jika Anda melakukannya).

Perbarui 2

Bacaan terbaik yang saya miliki tentang subjek itu ada di bab 32 yang disebut" Mengendus parameter:sahabat Anda... kecuali jika bukan oleh " oleh GRANT FRITCHEY

Disarankan.

SQL Server MVP Deep Dives, Volume 2



  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 menjalankan prosedur tersimpan MS SQL Server di Java/jsp, mengembalikan data tabel?

  2. Catatan acak dari tabel database (T-SQL)

  3. Log Transaksi SQL Server, Bagian 2:Arsitektur Log

  4. SQL Server datetime SEPERTI pilih?

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