/ / Инструменти и техники за оптимизиране на LINQ към SQL заявка - .net, sql, sql-server, performance, linq-to-sql

Инструменти и техники за оптимизиране на LINQ към SQL заявка - .net, sql, sql-server, performance, linq-to-sql

Имам няколко LINQ към SQL заявки, които чувствам да отнеме много време. Какви инструменти и техники мога да използвам, за да разберете първо:

  1. Колко време те вземат и ако има стая за подобрения?
  2. Разбирам какво мога да променя и лесно тествайте тези промените са ефективни?

И двата инструмента, техники и ресурси за четене ще бъдат оценени (ergo up-voted;))

Отговори:

7 за отговор № 1

Току-що присъствах на представяне на LINQ Tools по време на неотдавнашно събитие за codecamp, дадено от Jim Wooley, един от авторите на Линукс в действие, Той blogged за всички инструменти, Ето тези, които са свързани с вашия въпрос, но в публикацията му са изброени други екстри, които да разгледате.

  • SQL Server Profiler ($$$) - част от SQL Management Studio.

  • Huagati LINQ към SQL Profiler ($ $, 45-дневен пробен период) - Profiler, който разширява функционалността Context.Log. Включва ефективност и стакове за повиквания за заявките, които надхвърлят това, което получавате с SQL Server Profiler.

  • LINQ to SQL Visualizer (безплатно) - част от C # Пробите за VS2008. Изтеглете, компилирайте, насладете се!

  • LINQPad (безплатно, плащайте за C # Intellisense) - лек инструмент за стартиране на C # / VB.NET код, свързване към DB, тестване на Linq към SQL, преглед на генерираните SQL и т.н.


6 за отговор № 2

LinqPad може да бъде полезно. Използван във връзка с SQL Profiler, може да сте в състояние да разберете какво се случва и как може да бъде подобрено.


4 за отговор № 3

Бих проверил това блог t от Дейвид Хейдън ...


2 за отговор № 4

Е, най-добрият вариант вероятно все още е SQLServer Profiler, който ще ви даде задълбочен поглед към това, което се случва на края на проводника на SQL Server. Това се основава на допускането (подкрепено от собствения ми опит), че най-често не е реалният проблем за изпълнението, който се крие повече в базовата база данни и под оптималните индекси и db дизайн, а не в LINQ queries от предния край ...

Виж:

джибри


2 за отговор № 5

Изумителното Linq to Sql Profiler от хибернация на Rhinos. Получавате анализ в реално време на вашия код и сигнали, показващи модели на злоупотреба. 30-дневен пробен период.


1 за отговор № 6

Един хубав "трик" при използване на LINQ към SQL е да се използва DataContext.Log property, за да видите SQL, генериран от рамката:

context.Log = Console.Out

SQL Server Profiler ще ви даде по-обективна мярка за ефективността на заявките ви, но възможността директно да инспектирате заявките може все пак да разкрие някаква неочаквана информация.