Vedere velocità esecuzione query

sabato 30 settembre 2006 - 10.48

bule Profilo | Junior Member

ciao a tutti stò utilizzando sql 2005 exprees vorrei sapere se c'è un modo per visualizzare il tempo di esecuzione di una query...

grazie mille

lbenaglia Profilo | Guru

>ciao a tutti stò utilizzando sql 2005 exprees vorrei sapere se
>c'è un modo per visualizzare il tempo di esecuzione di una query...

Ciao bule,

Quando esegui una query in SQL Server Management Studio, in basso a DX la status bar visualizzerà il tempo di esecuzione della query espresso in secondi.
Se hai bisogno di effettuare misurazioni più precise puoi servirti del comando SET STATISTICS TIME ON avendo preventivamente pulito le cache.
Fai riferimento a questo post:
http://groups.google.it/group/microsoft.public.it.sql/msg/91663806552c0eec

>grazie mille
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

bule Profilo | Junior Member

perfetto mi ero dimenticato che mi interessava una precisione al ms...

comunque un'ultima curiosità se eseguo il comando

DBCC FREEPROCCACHE
DBCC DROPCLEANBUFFERS


SET STATISTICS TIME ON


query

mi ritorna tutto perfetto..

Esecuzione DBCC completata. Se sono stati visualizzati messaggi di errore DBCC, rivolgersi all'amministratore di sistema.
Esecuzione DBCC completata. Se sono stati visualizzati messaggi di errore DBCC, rivolgersi all'amministratore di sistema.

(Righe interessate: 14528)

Tempo di esecuzione SQL Server:
tempo di CPU = 0 ms, tempo trascorso = 121 ms.

ma se rieseguo la query


Tempo di analisi e compilazione SQL Server:
tempo di CPU = 0 ms, tempo trascorso = 1 ms.
Esecuzione DBCC completata. Se sono stati visualizzati messaggi di errore DBCC, rivolgersi all'amministratore di sistema.

Tempo di esecuzione SQL Server:
tempo di CPU = 0 ms, tempo trascorso = 1 ms.
Esecuzione DBCC completata. Se sono stati visualizzati messaggi di errore DBCC, rivolgersi all'amministratore di sistema.

Tempo di esecuzione SQL Server:
tempo di CPU = 0 ms, tempo trascorso = 1 ms.

Tempo di esecuzione SQL Server:
tempo di CPU = 0 ms, tempo trascorso = 1 ms.

(Righe interessate: 14528)

Tempo di esecuzione SQL Server:
tempo di CPU = 16 ms, tempo trascorso = 300 ms.

A cosa si riferiscono le tre righe che parlano dei tempi trascorsi pari a 1ms?
il tempo di esecuzione della query penso sia quello dopo la dicitura righe interessate...




lbenaglia Profilo | Guru

>perfetto mi ero dimenticato che mi interessava una precisione
>al ms...
OK

>A cosa si riferiscono le tre righe che parlano dei tempi trascorsi
>pari a 1ms?
Boh
Non posso sapere che query hai eseguito
Ad occhio direi che è il tempo di esecuzione delle due DBCC...

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

bule Profilo | Junior Member

mah la query è una semplice select * from table tanto per vedere cosa veniva fuori,
strano che tutti quei tempi vengano fuori solo alle esecuzioni successive...misteri

un'ultima cosa sullo stesso argomento:

smanettando un po sui comandi ho schiacciatto il controllo abilita statistiche client, anche questo da dei risultati temporali tipo:

Statistiche temporali
Tempo di elaborazione client 125 141
Tempo di esecuzione totale 218 250
Tempo di attesa delle risposte del server 93

adesso cerco un pò ma con la mia linea 56k sono frustrato...



grazie mille comunque

lbenaglia Profilo | Guru

>mah la query è una semplice select * from table tanto per vedere
>cosa veniva fuori,
>strano che tutti quei tempi vengano fuori solo alle esecuzioni
>successive...misteri

Nessun mistero.
I Books Online riportano: "Displays the number of milliseconds required to parse, compile, and execute each statement".

Quindi le prime due statistiche si riferiscono al tempo di parsing (la verifica sintattica del comando SQL) e di compile (la traduzione del comando SQL in istruzioni interne del dbengine), mentre l'ultima si riferisce ad il tempo di esecuzione della query.

>un'ultima cosa sullo stesso argomento:
>
>smanettando un po sui comandi ho schiacciatto il controllo abilita
>statistiche client, anche questo da dei risultati temporali tipo:
>
>Statistiche temporali
> Tempo di elaborazione client 125 141
> Tempo di esecuzione totale 218 250
> Tempo di attesa delle risposte del server 93

http://msdn2.microsoft.com/it-it/library/ms173477.aspx

"Statistiche client. In questa finestra vengono visualizzate le informazioni relative all'esecuzione delle query, raggruppate in categorie. Quando si seleziona l'opzione Includi statistiche client dal menu Query, durante l'esecuzione della query viene visualizzata una finestra Statistiche client. Le statistiche dalle successive esecuzioni delle query vengono elencate insieme ai valori medi. Per reimpostare la media, selezionare Reimposta statistiche client dal menu Query."

>grazie mille comunque
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

bule Profilo | Junior Member

non c'è che dire mi inchino a tanta sapienza e a tanta disponibilità...
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5