5 Stimmen

Tools und Techniken zur Optimierung einer LINQ to SQL-Abfrage

Ich habe einige LINQ to SQL-Abfragen, die meiner Meinung nach sehr viel Zeit in Anspruch nehmen. Welche Werkzeuge und Techniken kann ich verwenden, um das herauszufinden?

  1. Wie lange sie brauchen und wenn Es gibt Raum für Verbesserungen ?
  2. Herausfinden was ich ändern kann und leicht prüfen, ob diese Änderungen wirksam sind ?

Sowohl Werkzeuge, Techniken als auch Lesematerialien würden geschätzt (ergo hochgestuft ;))

7voto

Ahmad Mageed Punkte 91261

Ich habe gerade eine LINQ-Tools-Präsentation auf einer kürzlich stattgefundenen Codecamp-Veranstaltung besucht, die von Jim Wooley, einem der Autoren von LINQ in Aktion . Er über alle Tools gebloggt . Hier sind die, die sich auf Ihre Frage beziehen, aber sein Beitrag listet auch noch andere Dinge auf, die Sie sich ansehen sollten.

  • SQL Server-Profiler ($$$) - Teil des SQL Management Studio.

  • Huagati LINQ to SQL Profiler ($$$, 45-Tage-Testversion) - Profiler, der die Funktionalität von Context.Log erweitert. Enthält Leistung und Aufrufstapel für die Abfragen über das hinaus, was Sie mit SQL Server Profiler erhalten.

  • LINQ to SQL-Visualisierer (kostenlos) - Teil der C#-Beispiele für VS2008. Herunterladen, kompilieren, genießen!

  • LINQPad (kostenlos, kostenpflichtig für C# Intellisense) - leichtgewichtiges Tool zum Ausführen von C#/VB.NET-Code, Verbinden mit DBs, Testen von Linq to SQL, Anzeigen des generierten SQL usw.

6voto

Simon P Stevens Punkte 26735

LinqPad kann hilfreich sein. In Verbindung mit dem SQL-Profiler können Sie möglicherweise herausfinden, was vor sich geht und wie es verbessert werden kann.

2voto

marc_s Punkte 701497

Nun, die beste Option ist wahrscheinlich immer noch der SQL Server Profiler, der Ihnen einen detaillierten Einblick in die Vorgänge auf der Seite von SQL Server gibt. Dies basiert auf der Annahme (gestützt durch meine eigene Erfahrung), dass das eigentliche Problem für die Leistung meist eher im Datenbank-Backend und suboptimalen Indizes und DB-Design liegt als in den "Front-End"-LINQ-Abfragen...

Siehe:

Marc

2voto

Martin Liversage Punkte 100306

Ein netter "Trick" bei der Verwendung von LINQ to SQL ist die Verwendung der DataContext.Log um das vom Framework generierte SQL zu sehen:

context.Log = Console.Out

Der SQL Server Profiler gibt Ihnen ein objektiveres Maß für die Leistung Ihrer Abfragen, aber die Möglichkeit, die Abfragen direkt zu inspizieren, kann dennoch einige unerwartete Informationen offenbaren.

2voto

Lee Treveil Punkte 6335

Das Erstaunliche Linq to Sql Profiler von Hybernating Rhinos. Sie erhalten eine Echtzeitanalyse Ihres Codes und Warnmeldungen, die auf Missbrauchsmuster hinweisen. 30 Tage Probezeit.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X