项目中用到一个存储过程,在SQL Server Management Studio执行很快,如下图所示:
由上图可以看出调用时间为0秒
但是在C#中调用就巨慢,如下图所示:
由图中可以看出,所用的数据库、执行语句完全一样,但执行“adp.Fill(ds)”这一句时用了100秒!
public DataTable query(string sqlstr)
{
using (SqlConnection con = new SqlConnection(DBHelper.sqlConnection))
{
SqlDataAdapter adp = new SqlDataAdapter(sqlstr, con);
adp.SelectCommand.CommandTimeout = 180000;
DataTable ds = new DataTable();
DateTime timestart = DateTime.Now;
adp.Fill(ds);
DateTime timeend = DateTime.Now;
return ds;
}
}
这两个差异太大了,求高手协助分析原因