假设我有一个简单的 ASP.NET MVC Web 应用程序和一个(本地)Sql Server。作为 ORM,我使用的是 Entity Framework 4.3.1
为了弄清楚 ORM 端需要多长时间,我准备了一个简单的选择查询并打印出时间戳,比如
...
using (var context = Entities())
{
(1) timestamp1
var list = context.Database.SqlQuery<Entity>("select * from entities").ToList();
(2) timestamp2
}
...
同时,我查看了 Sql Server Profiler 以查看查询开始/结束时间。
结果如下(注意只显示毫秒,因为查询处理时间小于1sec)
- 时间戳 1:149 毫秒
- 查询开始时间:197 毫秒
- 查询结束时间:198 毫秒
- 时间戳2:199毫秒
问题)为什么在开始查询之前花了这么多时间(48 毫秒,197-149 毫秒)?有什么办法可以减少这种情况吗?
谢谢!