监视/提高LINQ to SQL查询性能的技术

时间:2008-12-22 08:47:26

标签: linq-to-sql performance

我的网页耗时太长,需要对其进行优化。因为不知情的优化是魔鬼,我需要知道究竟是什么阻碍了我。快速浏览一下就会发现,这可能是LINQ to SQL查询,最有可能造成麻烦。

在这种情况下,固定性能问题的技术是什么?您是否遇到过具体的问题,LINQ to SQL并不擅长,因此应该避免使用?

如果需要,我可以提供有关构建查询的代码的更多详细信息。

1 个答案:

答案 0 :(得分:1)

您可以使用LINQ to SQL调试可视化工具; Scott Guthrie有一篇很好的博客文章, LINQ to SQL Debug Visualizer

另一个可以为您提供有价值信息的应用程序是SQL事件探查器。查看介绍 Introduction to SQL Profiler ,它应该让您入门。

我遇到了一些性能问题。我在每个LINQ语句之前和之后添加了大量TimeSpan对象和当前时间。我添加了几个断点,看看所有这些TimeSpans之间的区别。在Watch窗口中,您可以动态计算差异并立即查看疼痛点的位置。在我的情况下,它原来是一个调用在错误的时间调用的扩展方法。

此外,InsertOnSubmit和SubmitChanges可能会导致延迟。因为我的客户端不应该等待,所以我将插入放在不同的线程上。