我有几个LINQ to SQL查询,我觉得需要花费很多时间。我可以使用哪些工具和技术来首先找到:
工具,技术和阅读资源都将受到赞赏(ergo up-voted;))
答案 0 :(得分:7)
我刚刚参加了由LINQ In Action的作者之一Jim Wooley提供的最近一次代码大会活动中的LINQ Tools演示。他blogged about all the tools。以下是与您的问题相关的内容,但是他的帖子列出了要查看的其他内容。
SQL Server Profiler($$$) - SQL Management Studio的一部分。
Huagati LINQ to SQL Profiler($$$,45天试用版) - 拓展Context.Log功能的Profiler。包括SQL Server Profiler以外的查询的性能和调用堆栈。
LINQ to SQL Visualizer(免费) - VS2008的C#示例的一部分。下载,编译,享受!
LINQPad(免费,支付C#Intellisense) - 轻量级工具,用于运行C#/ VB.NET代码,连接到DB,测试Linq到SQL,查看生成的SQL等。
答案 1 :(得分:6)
LinqPad可能会有所帮助。与SQL事件探查器结合使用,您可能能够了解正在发生的事情以及如何改进它。
答案 2 :(得分:4)
我会由David Hayden检查这个blog t ......
答案 3 :(得分:2)
嗯,最好的选择可能仍然是SQL Server Profiler,它可以让您深入了解SQL Server端到底发生了什么。这是基于假设(由我自己的经验支持),通常情况下,性能的真正问题在于数据库后端和次优索引和数据库设计而不是“前端”LINQ查询......
请参阅:
马克
答案 4 :(得分:2)
Hybernating Rhinos的惊人Linq to Sql Profiler。您可以实时分析代码和警报,指出滥用模式。 30天试用。
答案 5 :(得分:1)
使用LINQ to SQL时,一个不错的“技巧”是使用DataContext.Log
属性来查看框架生成的SQL:
context.Log = Console.Out
SQL Server Profiler将为您提供更客观的查询性能指标,但能够直接检查查询可能仍会显示一些意外信息。