代码之家  ›  专栏  ›  技术社区  ›  Jeremy Roberts

标识linq to sql查询的源

  •  3
  • Jeremy Roberts  · 技术社区  · 16 年前

    我们的代码中开始有许多linq-to-sql查询。我们已经开始更加关注性能,并开始看到我们认为来自linq的查询。它们有T1,T2…TN值,所以我们确定它们是LINQ生成的。但是,我们很难确定代码中作为查询源的位置。显然,我们有一个基于所请求的表和列的总体概念。

    有没有一种方法可以“标记”或“命名”查询,使其显示在跟踪中,以便更容易地标识查询?

    2 回复  |  直到 16 年前
        1
  •  1
  •   KristoferA    16 年前

    你可能会发现 Linq-to-SQL query profiler 有用的;它允许您一起使用堆栈跟踪和DB侧I/O、定时、执行计划以及其他细节来记录查询,这些细节可以用来确定查询具有什么影响以及它来自何处(在代码中,什么用户行为(S)和/或调用触发它等)。

    它有很多 filter options 您可以在自己的代码中进行控制,因此可以将其设置为只捕获满足特定条件的查询。例如,下列查询: expensive I/O-wise 有 long execution time 做 table scans , hits specific tables ,即使是你自己的 custom filters 它是为运行时配置文件设计的,因此您可以用应用程序分发日志记录组件,并在PROD环境中根据需要切换它。

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

    您可以下载剖析器并获得免费的45天试用许可证: http://www.huagati.com/L2SProfiler/

        2
  •  1
  •   Jeremy Roberts    16 年前

    到目前为止,我还没找到办法。