2010-03-02 48 views
0

我有一個存儲過程,當我從SSMS中運行它時,它運行速度快20秒。但是當我從.net應用程序執行相同的存儲過程時,大約需要50-70秒!爲什麼會發生?SQL Server 2008,存儲過程從代碼運行緩慢,但在SSMS中速度很快

謝謝。

+3

如果您編輯問題以包括存儲過程定義 – 2010-03-02 08:36:16

+1

和用於調用存儲過程的.NET代碼,則可能會更容易幫助您! – 2010-03-02 10:03:48

+0

20秒確實不是一個快速查詢。正如其他人所說的,在給出真正的答案之前需要更多的信息。 – Cromulent 2010-03-02 21:22:32

回答

0

有幾個原因是可能的。

您可能首先通過網絡發送數據,可能是因爲它已經超時了。

也可能是你在第二種情況下有更多的用戶,所以會出現鎖定問題。

而當從開發包上的SSMS運行(特別是不包含完整數據集的產品)時,需要20秒的存儲過程在使用完整數據集和更多用戶的情況下不太可能表現良好。 20秒對於開發中的查詢來說太長了。

可能你的sp拼命需要調整。

相關問題