我有一個存儲過程,我從我的ASP.NET網站執行。從網站,服務器立即服務30秒鐘的SQL查詢
需要30秒才能返回。當我運行SQL配置文件跟蹤時,我發現它確實需要30秒(所以滯後時間在Web服務器和數據庫之間)。
當我抓住跟蹤中的內容並在SQL Server本地執行它時,它是-instant-。
這是兩個查詢。第一個來自Web服務器(使用Entity Framework執行),第二個來自SQL Server Management Studio。
EventClass TextData ApplicationName CPU Reads Writes Duration ClientProcessID SPID StartTime EndTime
RPC:Completed exec sp_executesql N'FindQuestions @Query, @LocationId',N'@Query nvarchar(7),@LocationId int',@Query=N'what is',@LocationId=1 EntityFrameworkMUE 28330 146818 0 30063 2764 87 2014-02-12 19:42:00.933 2014-02-12 19:42:30.997
SQL:BatchCompleted exec sp_executesql N'FindQuestions @Query, @LocationId',N'@Query nvarchar(7),@LocationId int',@Query=N'what is',@LocationId=1 Microsoft SQL Server Management Studio - Query 344 16604 0 385 22236 62 2014-02-12 19:42:57.803 2014-02-12 19:42:58.190
任何想法?
它可能[參數嗅探](https://www.simple-talk.com/sql/t-sql-programming/parameter-sniffing/)? –