我目前正在使用 Microsoft Enterprise Library Data Access 5.0 来执行存储过程。
Database myDatabase = DatabaseFactory.CreateDatabase();
using (DbCommand command = myDatabase.GetStoredProcCommand("myStoredProc"))
{
//Add parameters here
using (IDataReader dataReader = myDatabase.ExecuteReader(command))
{
while (dataReader.Read())
{
}
}
}
一切正常,但是需要很长时间才能运行。当我打开 SQL Profiler 时,我可以看到存储过程大约需要 50 秒才能运行。但是,如果我从 Profiler 中获取相同的脚本并在 SQL Management Studio 中运行它,则只需大约 480 毫秒即可返回所有行。
有没有人遇到过这个问题?为什么会有很大的不同?