Ghost_Rider_R
Lieutenant
- Registriert
- Nov. 2009
- Beiträge
- 759
Hallo zusammen,
wie könnte ich dieses Skript optimieren, sodass am Ende nur das ResultSet am Ende angezeigt wird,
nicht jedoch die 10 Durchläufte der Query, welche gemessen werden soll? (-> SELECT * FROM Artikel)
Vielen Dank schon mal für eure Hilfe!
LG Ghost Rider
wie könnte ich dieses Skript optimieren, sodass am Ende nur das ResultSet am Ende angezeigt wird,
nicht jedoch die 10 Durchläufte der Query, welche gemessen werden soll? (-> SELECT * FROM Artikel)
SQL:
DECLARE @QueryZaehler INT = 1;
DECLARE @MinZeit INT = 999999999;
DECLARE @MaxZeit INT = 0;
DECLARE @GesamtZeit INT = 0;
DECLARE @StartZeit DATETIME
DECLARE @EndZeit DATETIME
DECLARE @AusfuehrungsZeit INT
DECLARE @AnzahlDurchlaeufe INT
SET @AnzahlDurchlaeufe = 10
WHILE @QueryZaehler <= @AnzahlDurchlaeufe
BEGIN
SET @StartZeit = GETDATE();
--########## Abfrage ##########
--SELECT *
--FROM Artikel
--########## Ende #############
SET @EndZeit = GETDATE();
SET @AusfuehrungsZeit = DATEDIFF(ms, @StartZeit, @EndZeit);
SET @GesamtZeit = @GesamtZeit + @AusfuehrungsZeit;
IF @AusfuehrungsZeit < @MinZeit SET @MinZeit = @AusfuehrungsZeit;
IF @AusfuehrungsZeit > @MaxZeit SET @MaxZeit = @AusfuehrungsZeit;
SET @QueryZaehler = @QueryZaehler + 1;
END
SELECT
@GesamtZeit / @AnzahlDurchlaeufe AS 'Durchschnittliche Ausführungszeit (ms)',
@MinZeit AS 'Minimale Ausführungszeit (ms)',
@MaxZeit AS 'Maximale Ausführungszeit (ms)',
@AnzahlDurchlaeufe AS 'Anzahl Durchläufe',
@GesamtZeit AS 'GesamtZeit'
Vielen Dank schon mal für eure Hilfe!
LG Ghost Rider