2013-05-09 10 views
6

Ich brauche die Ausführungszeit meiner Abfrage zu bekommen. Ich bin mitWie erhält man die korrekte Ausführungszeit der Abfrage in SQL Server?

declare @starttime datetime 
declare @endtime datetime 
set @starttime =getdate() 

-- execute my query here 

set @endtime = GETDATE() 
select @[email protected] 

Aber der Ausgang kommt als 1900-01-01 00:02:10.707

ich nur die Zeit Teil benötigen.

+0

Check out http://stackoverflow.com/questions/595762/calculate-execution-time-of-a-sql-query – Rohan

Antwort

2

Verwenden Sie den time Datentyp, die in SQL Server 2008 verfügbar ist und höher

nun die Tags korrekt sind und das ist SQL Server 2005 ...

select CONVERT(varchar(12), @[email protected], 114) 
+0

Ich bin mit SQL Server 2005 –

+1

@ user2360877: warum also Tag dieser SQL Server 2008? – gbn

+0

Es wurde bearbeitet –

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

--Euer Abfrage ausgeführt werden geht hier--

 
SELECT @EndTime=GETDATE() 
SELECT DATEDIFF(ms,@StartTime,@EndTime) AS [Duration in microseconds] 
5

Mit dieser:

set statistics time on 
--query 
set statistics time off 

dann auf die 'Nachricht' Tab gehen eine Meldung wie diese sehen:

SQL Server Execution Times: 
    CPU time = 0 ms, elapsed time = 165 ms. 
2

SET STATISTIK ZEIT {ON | AUS}

Beispiel

VERWENDUNG AdventureWorks2012; GO

STATISTIKZEIT EINSTELLEN;

GO

SELECT ProductID, Startdatum, Enddatum, StandardCost VON Production.ProductCostHistory WHERE StandardCost < 500.00;

GO

SET STATISTICS TIME OFF;

GO

Verwandte Themen