2009-09-07 68 views
4

我有幾個LINQ to SQL查詢,我覺得花了很多時間。我可以使用哪些工具和技術來先了解一下:優化LINQ to SQL查詢的工具和技巧

  1. 多久,他們採取如果有 改進的餘地
  2. 找出什麼我可以改變和容易測試,如果這些 變化有效?

這兩種工具,技術和閱讀資源,將不勝感激(ERGO上投;))

回答

7

我剛剛參加了一個由Jim Wooley撰寫的最近codecamp事件的LINQ工具演示文稿,作者之一是LINQ In Action。他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#示例的一部分。下載,編譯,享受! (免費,支付C#Intellisense) - 運行C#/ VB.NET代碼的輕量級工具,連接到數據庫,測試Linq到SQL,查看生成的SQL等。

+0

非常好!謝謝!很多新的在那裏爲我。 – Riri 2009-09-07 16:18:08

+0

請務必查看Jim的博客文章,瞭解其他整潔的工具。我只是將這個信息添加到我的文章:) – 2009-09-07 16:19:35

+0

非常好的答案。 LinqPad是最好的。 – Rap 2009-09-07 16:27:33

2

那麼,最好的選擇可能仍然是SQL Server Profiler中,這將給你一個深入瞭解在SQL Server的結尾處發生了什麼。這是基於假設(以我自己的經驗爲後盾),通常情況下,性能的真正問題更多地取決於數據庫後端和次優指標以及db設計,而不是「前端」LINQ查詢......

參見:

馬克

4

我會檢查這個blog t了由大衛·海登...

+0

+1優秀的東西!感謝您的鏈接 – 2009-09-07 16:00:23

6

LinqPad能有所幫助。與SQL事件探查器一起使用,您可能可以確定發生了什麼以及如何改進它。

1

一個不錯的「絕招」使用LINQ時,SQL被使用DataContext.Log屬性看到框架生成的SQL:

context.Log = Console.Out 

SQL Server事件探查器會給你一個更客觀的衡量標準查詢的性能,但能夠直接查看查詢可能仍會顯示一些意外的信息。

2

Hybernating Rhinos的驚人的Linq to Sql Profiler。您可以實時分析您的代碼併發出警告,指出濫用模式。 30天試用。