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

Mengapa kueri basis data hanya berjalan lambat di aplikasi?

Saya menduga parameter mengendus.

Rencana eksekusi yang di-cache yang digunakan untuk koneksi aplikasi Anda mungkin tidak akan dapat digunakan oleh koneksi SSMS Anda karena set yang berbeda pilihan sehingga akan menghasilkan rencana baru yang berbeda.

Anda dapat mengambil paket yang di-cache untuk prosedur tersimpan dengan menggunakan kueri di bawah ini. Kemudian bandingkan untuk melihat apakah keduanya berbeda (mis. apakah yang lambat melakukan pencarian indeks dan pencarian bookmark di tempat yang lain melakukan pemindaian?)

Use YourDatabase;

SELECT *
FROM sys.dm_exec_cached_plans 
CROSS APPLY sys.dm_exec_sql_text(plan_handle) 
CROSS APPLY sys.dm_exec_query_plan(plan_handle) 
cross APPLY sys.dm_exec_plan_attributes(plan_handle) AS epa
where sys.dm_exec_sql_text.OBJECTID=object_id('YourProcName') 
         and attribute='set_options'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa perbedaan antara CHECKSUM() dan BINARY_CHECKSUM() dan kapan/apa skenario penggunaan yang sesuai?

  2. MVC4:UserIsInRole - Tidak dapat terhubung ke database SQL Server

  3. SQL Unpivot dengan nomor baris

  4. 3 Area yang Akan Diuntungkan dari Menggunakan Alat Pemantauan Kinerja SQL Server

  5. Hanya menggunakan IP untuk terhubung ke SQL Server 2008 tanpa nama instance?