2011-06-02 50 views
4

我正在使用ExcuteReader()命令執行存儲過程。如果我在SQL服務器中執行存儲過程,則需要2秒。但在代碼約2 mins。我試過DataAdapter.Fill()。還是一樣。ExecuteReader需要時間,而不是SQL服務器?

代碼有什麼問題?

 spString = "usp_graph" 
     sqlcmd_q.Connection = sqlCnn 
     sqlcmd_q.CommandText = spString 
     sqlcmd_q.CommandType = CommandType.StoredProcedure 
     sqlcmd_q.Parameters.AddWithValue("@clientid", clientId) 
     sqlcmd_q.Parameters.AddWithValue("@store", storeID) 
     sqlcmd_q.Parameters.AddWithValue("@attributes", attributeNumber) 
     sqlcmd_q.Parameters.AddWithValue("@attri1_idx", attribute1_idx)sqlCnn.Open() 
     sqlcmd_q.CommandTimeout = 300 

     sqldr = sqlcmd_q.ExecuteReader() // taking time here 
     dt.Load(sqldr) 
     dsGrid.Tables.Add(dt) 
+0

你在存儲過程中做了什麼像'set dateformat'嗎?我遇到過一個'set dateformat'的存儲過程,會放慢速度,但當查詢被緩存時,它將在SSMS中正常運行。 – Ciaran 2011-06-02 20:43:40

回答

相關問題