it-swarm.com.de

Mit SQL Server Management Studio können Sie die Ausführungszeit auf Millisekunden reduzieren

Wenn ich in SSMS einen Stapel abschicke (z. B. eine Abfrage durchführe), wird die Ausführungszeit in der Statusleiste angezeigt. Ist es möglich, SSMS so zu konfigurieren, dass die Abfragezeit in Millisekundenauflösung angezeigt wird?

Hier ist die Bar, über die ich mit dem rot eingekreisten Abschnitt von Interesse spreche:

enter image description here

209

Ich kämpfte damit, bis ich dies fand ...

http://blog.sqlauthority.com/2009/10/01/sql-server-sql-server-management-studio-and-client-statistics/

Wenn Sie das Eigenschaften-Fenster öffnen, werden Sie möglicherweise eine magische "Verbindungszeit" finden, die Ihnen möglicherweise einige Ausführungszeit verschafft ... Ich hoffe, es hilft ...

53
Ymagine First

Was Sie tun möchten, ist Folgendes:

set statistics time on

-- your query

set statistics time off

Dadurch sieht die Ausgabe in Ihrem Nachrichtenfenster ungefähr so ​​aus:

SQL Server-Ausführungszeiten: CPU-Zeit = 6 ms, verstrichene Zeit = 6 ms.

343
user596075

Aktivieren Sie Client Statistics, indem Sie einen der folgenden Schritte ausführen:

  • Menü: Abfrage> Client-Statistiken einbeziehen
  • Symbolleiste: Klicken Sie auf die Schaltfläche (neben Aktuelle Ausführungszeit einschließen).
  • Tastatur: Umschalt-Alt-S

Dann erhalten Sie eine neue Registerkarte, die die Zeiten, IO Daten und Zeilenanzahl usw. für (bis zu) die letzten 10 Exits (plus Durchschnittswerte!) Aufzeichnet:

enter image description here

111
NickG

So rufen Sie die Ausführungszeit als Variable in Ihrem Prozess ab:

DECLARE @EndTime datetime
DECLARE @StartTime datetime 
SELECT @StartTime=GETDATE() 

-- Write Your Query


SELECT @EndTime=GETDATE()

--This will return execution time of your query
SELECT DATEDIFF(ms,@StartTime,@EndTime) AS [Duration in millisecs] 

UND sieh das

Messung der Abfrageleistung: "Ausführungsplan-Abfragekosten" vs. "Zeitaufwand"

16
atik sarker

Ich war nach der gleichen Sache und stolperte über den folgenden Link, der brillant war:

http://www.sqlserver.info/management-studio/show-query-execution-time/

Es werden drei verschiedene Möglichkeiten zur Messung der Leistung gezeigt. Alles gut für die eigenen Stärken. Das, für das ich mich entschieden habe, war wie folgt:


DECLARE @ Time1 DATETIME

DECLARE @ Time2 DATETIME

SET @ Time1 = GETDATE ()

- Abfrage hier einfügen

SET @ Time2 = GETDATE ()

SELECT DATEDIFF (Millisekunde, @ Zeit1, @ Zeit2) AS Elapsed_MS


Daraufhin werden die Ergebnisse Ihrer Abfrage angezeigt, gefolgt von der Zeit, die für die Fertigstellung benötigt wurde.

Hoffe das hilft.

9
J-Man

Ich weiß nicht, wie ich die Informationsleiste erweitern soll.

Sie können jedoch die Zeiteinstellungen als Standard für alle Abfragen festlegen, die auf der Registerkarte "Nachrichten" angezeigt werden.

Gehen Sie in einem Abfragefenster zum Menüpunkt Abfrage, wählen Sie "Abfrageoptionen" und dann "Erweitert" in der Gruppe "Ausführung" und aktivieren Sie die Kontrollkästchen "Statistikzeit einstellen"/"Statistik-E/A einstellen". Diese Werte werden dann im Nachrichtenbereich für jede Abfrage angezeigt, ohne dass Sie sich daran erinnern müssen, die eingestellten Statistiken ein- und auszuschalten.

Sie können auch die Tastenkombination Umschalt + Alt + S verwenden, um die Client-Statistiken jederzeit zu aktivieren

2
luke

Sie können diesen Code ausprobieren:

USE AdventureWorks2012;
GO
SET STATISTICS TIME ON;
GO
SELECT ProductID, StartDate, EndDate, StandardCost 
FROM Production.ProductCostHistory
WHERE StandardCost < 500.00;
GO
SET STATISTICS TIME OFF;
GO
0
Rohitkumar