2009-10-30 104 views
3

我们开始在我们的代码中有大量的linq到sql查询。我们已经开始关注性能,并开始看到我们认为来自linq的查询。他们有t1,t2 ... tN值,所以我们确信他们是linq生成的。但是,我们很难确定作为查询源的代码中的位置。显然,我们基于所请求的表格和栏目有一个总体思路。确定linq到sql查询的来源

有没有办法“标记”或“命名”一个查询,以便在跟踪中显示,以便更容易地识别查询?

回答

1

我有,到目前为止,发现没办法做到这一点。

1

您可能会发现我的Linq-to-SQL query profiler有用;它允许您将查询与堆栈跟踪和db端I/O,时间安排,执行计划以及其他详细信息一起记录下来,这些详细信息可用于查明查询具有的效果以及来自哪里(代码中,用户操作(或)呼叫或触发它等)。

它有多个filter options,您可以在自己的代码中进行控制,因此您可以设置它来捕获仅满足特定条件的查询。例如。查询:expensive I/O-wise,有long execution timetable scans,hits specific tables,甚至你自己的custom filters等。它是专为运行时分析,所以你可以分配日志组件与您的应用程序,并在必要时生产环境中打开它。

我已经发布了一个简短的介绍到这里: http://huagati.blogspot.com/2009/06/profiling-linq-to-sql-applications.html

而且你可以从以下网址下载探查,并获得免费45天试用许可证: http://www.huagati.com/L2SProfiler/