我有一個很大的討厭的數據透視查詢,我通過ADO.NET從C#運行。我在2個地方和1個地方使用這個數據,但是我想要數據,但在另一個地方我只想要結構(沒有數據)。所以在查詢我在where子句中補充說:ADO.NET參數導致超時
1 = @test
所以在查詢,我只想表結構我設置@test
2和偉大工程。但是,在查詢中,我希望將數據設置爲1,但該查詢超時(5分鐘後)。如果我將sql拉入sql server並手動設置參數,它會在3分鐘後返回。如果我完全從我的C#應用程序中刪除1 = @test
,它會在3分鐘內恢復正常。如果我在C#應用程序中硬編碼1 = 1
,它會在3分鐘內恢復正常。
我還在這個查詢中添加了一個日期參數,並且工作得很好。
我的問題是,世界上有關@test參數可能會導致此超時發生?
有沒有辦法查看ADO.NET是否真的發送到SQL Server進行查詢?
sql server默認超時時間少於3分鐘我猜這就是它計時的原因,考慮優化你的查詢,3分鐘太多時間 –
SP和意外的超時時間可能是[*參數嗅探*](http ://blogs.technet.com/b/mdegre/archive/2012/03/19/what-is-parameter-sniffing.aspx) –
Sql Server Profiler可以顯示服務器接收到的內容。 – Steve