【发布时间】:2011-07-04 02:02:39
【问题描述】:
我们安装了 miniprofiler。这是一次启发性的体验,但现在我们看到,启用探查器后,我们的数据库查询运行速度是禁用探查器时的 3 倍。
我们在应用程序中更改的唯一代码是添加 profiledDbConnection:
public static DbConnection GetOpenConnection(string connectionString)
{
var cnn = new System.Data.SqlClient.SqlConnection(connectionString);
// wrap the connection with a profiling connection that tracks timings
return MvcMiniProfiler.Data.ProfiledDbConnection.Get(cnn, MiniProfiler.Current);
}
Linq2Sql 突然……快了。
我没有抱怨,但为什么会这样?
【问题讨论】:
-
唯一想到的可能是添加 ProfiledDbConnection 导致查询返回缓存项,但这是一个完全的猜测......
-
我们没有做任何事情来加速性能,预期是启用分析后性能会稍微慢一些。由于此命中仅影响一小部分用户(开发人员),因此是可以接受的。
-
这是我所期望的……但这不是我们观察到的。一方面,我感到困惑。
-
它运行更快?哇,这个分析器是非常棒,不是吗?
-
我的情况正好相反。我正在使用 EF,它为大多数 Linq 语句增加了大约 300 毫秒。问题在这里:stackoverflow.com/questions/6439827/…