sql >> Database >  >> RDS >> Sqlserver

Waarom gaat een databasequery alleen traag in de applicatie?

Ik vermoed parameter snuiven.

Het uitvoeringsplan in de cache dat wordt gebruikt voor de verbinding van uw toepassing zal waarschijnlijk niet bruikbaar zijn voor uw SSMS-verbinding vanwege een andere set opties zodat het een nieuw ander plan zal genereren.

U kunt de in de cache opgeslagen plannen voor de opgeslagen procedure ophalen met behulp van de onderstaande query. Vergelijk vervolgens om te zien of ze verschillend zijn (bijv. doet de langzame indexzoekopdrachten en bladwijzers op een plaats waar de andere scant?)

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. Lead- en Lag-functie in Mysql

  2. Laravel Query Builder verwijderen

  3. Hoe een naam te splitsen in achternaam plus initialen

  4. Entity Framework en (1 tot veel)-(veel tot 1) (1 - * * - 1) relaties