2009-05-29 11 views
1

Ich bin ein .NET-Entwickler mit durchschnittlichen SQL-Fähigkeiten. Ich arbeite an einer Web-App, die "datenbanklastig" ist. Ich habe den Profiler verwendet, um Abfragen und Prozesse zu debuggen. Gibt es eine Möglichkeit, dieses Tool zu verwenden, um die Leistung einer Abfrage/Prozedur zu untersuchen.Was sind die besten Möglichkeiten zur Verwendung des SQL Profiler

Wie kann ich den SQL Profiler optimal nutzen?

Ich bin mit SQL Server 2008.

Antwort

2

Es gibt keine festen Regeln pro sagen, wie es mit der Art von Datenbanksystem Sich eine Arbeits abhängt.

Als allgemeiner Ausgangspunkt für die Leistungsoptimierung von SQL Server finden Sie die folgende Referenz in der Tat sehr nützlich. Es enthält eine Vielzahl von Überlegungen und Anweisungen.

http://www.brentozar.com/sql-server-performance-tuning/

Sie auch einen Blick auf die folgenden Artikel nehmen, "Identifizieren von Performance-Probleme mithilfe von SQL Server Profiler"

http://vyaskn.tripod.com/analyzing_profiler_output.htm

Wenn Sie weitere Hilfe benötigen nur mir ein paar Zeilen.

+0

Vielen Dank für die Links – Developer

+0

@Nick: Gern geschehen, –

1

Ich bin nicht vertraut mit SQL Server 2008, aber in SQL Server 2005 Ihre beste Wette ist die "Ausführungsplan anzeigen" -Funktion. Ich werde Sie wissen lassen, welche Teile Ihrer Anfrage die meiste Zeit beanspruchen. In der Regel hilft das Hinzufügen von Indizes enorm, und mit diesem Tool können Sie feststellen, wo sie am meisten benötigt werden.

+0

Richtig, aber Sie müssten identifizieren, welche Abfragen/Chargen performa haben um mit zu beginnen. Und besser zu messen als zu erraten. Hier ist der Profiler praktisch, Sie hängen ihn an Ihren Server an, filtern nur nach Abfragen, die länger als eine beliebige Zeit dauern (sagen wir bei 5 Sekunden), lassen Sie ihn 10 Minuten lang überwachen und dann das Ergebnis aggregieren. Die oberste Abfrage ist die Stelle, an der Sie wahrscheinlich starten sollten, und zuerst betrachten Sie ihren Plan. Die Laufleistung kann natürlich variieren. –

0

Es ist ein wunderbares und leistungsfähiges Werkzeug. Aber pass auf und mach Folgendes nicht "

1) Erfasse nicht alles. Du kannst so viele Ereignisse/Objekte haben, dass du nichts finden kannst. Du kannst Filter nach App/Benutzer einstellen/Datenbank.

2) nicht-Profiler auf der Produktionsmaschine laufen.

3) sie speichern die Trace-Informationen über eine Produktionsdatenbank nicht. in einer Datei speichern, die getrennt von Produktionsdateien gespeichert sind.

Verwandte Themen