Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Durée d'exécution de PS

10 réponses
Avatar
Jean-Nicolas BERGER
Bonjour,
Quelqu'un pourrait-il me confirmer que la durée tracée dans le Profiler pour
les événements "SP:Completed" englobe le temps nécessaire au réseau pour
transmettre les RecordSets au client?
Merci d'avance.
JN.

10 réponses

Avatar
SQLpro
Non. Les durée sont les durées d'exécution et non les temps réseau.
Sauf si la procédure fait appel à une ressource externe dans son code.

A +

On 17 oct, 10:30, Jean-Nicolas BERGER
wrote:
Bonjour,
Quelqu'un pourrait-il me confirmer que la durée tracée dans le Profil er pour
les événements "SP:Completed" englobe le temps nécessaire au rése au pour
transmettre les RecordSets au client?
Merci d'avance.
JN.


Avatar
Jean-Nicolas BERGER
bonjour,

Non. Les durée sont les durées d'exécution et non les temps réseau.
Sauf si la procédure fait appel à une ressource externe dans son code.




Alors j'ai du mal à comprendre pourquoi, sur une même PS et en faisant en
sorte (relancer plusieurs fois la PS) que la notion de cache n'intervienne
pas, j'ai des Durées différentes entre un PC client sur un bon réseau et un
PC client sur un réseau pourri (et bien sûr l'écart est toujours dans le même
sens...)
Quelqu'un aurait-il une piste?
Merci d'avance.
JN.
Avatar
SQLpro
Avez vous mis SET NOCOUNT ON dans votre procédure ? Si non, il y a un
envoi d'information technique pour chaque ordre SQL de la PS.

SET NOCOUNT ON permet d'éviter l'apparition des messages
"n ligne traitées"
à chaque execution d'ordre SQL.
C'est une recommandation forte de désactiver ce comportement par
défaut pour tout développement (paramètre de session).

A +

On 17 oct, 11:02, Jean-Nicolas BERGER
wrote:
bonjour,

> Non. Les durée sont les durées d'exécution et non les temps rés eau.
> Sauf si la procédure fait appel à une ressource externe dans son co de.

Alors j'ai du mal à comprendre pourquoi, sur une même PS et en faisan t en
sorte (relancer plusieurs fois la PS) que la notion de cache n'intervienne
pas, j'ai des Durées différentes entre un PC client sur un bon rése au et un
PC client sur un réseau pourri (et bien sûr l'écart est toujours da ns le même
sens...)
Quelqu'un aurait-il une piste?
Merci d'avance.
JN.


Avatar
Jean-Nicolas BERGER
> Avez vous mis SET NOCOUNT ON dans votre procédure ? Si non, il y a un
envoi d'information technique pour chaque ordre SQL de la PS.



Le SET NOCOUNT est bien positionné à ON.
Quoi qu'il en soit, la différence de durée observées (3 secondes en réseau
lent contre 1 en réseau rapide) ne semble pas pouvoir s'expliquer par ce
point.

Cordialement.
JN BERGER
Avatar
Philippe TROTIN [MS]
Bonjour,

Utilisez vous une authentification Windows ou SQL Server ?
Windows va solliciter le contrôleur de domaine alors que SQL va solliciter
votre base master.

Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________

"Jean-Nicolas BERGER" a écrit
dans le message de groupe de discussion :



Avez vous mis SET NOCOUNT ON dans votre procédure ? Si non, il y a un
envoi d'information technique pour chaque ordre SQL de la PS.



Le SET NOCOUNT est bien positionné à ON.
Quoi qu'il en soit, la différence de durée observées (3 secondes en réseau
lent contre 1 en réseau rapide) ne semble pas pouvoir s'expliquer par ce
point.

Cordialement.
JN BERGER


Avatar
Jean-Nicolas BERGER
> Utilisez vous une authentification Windows ou SQL Server ?
Windows va solliciter le contrôleur de domaine alors que SQL va solliciter
votre base master.



Nous utilisons une authentification SQL SERVER.
D'autres idées?
Merci d'avance.
JN.
Avatar
Philippe TROTIN [MS]
Avez vous utiliser le code suivant entre vos deux appels (pour vous assurer
que cela n'est pas lié au cache de SQL) ?

DBCC FREEPROCCACHE
GO
DBCC DROPCLEANBUFFERS
GO

Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________

"Jean-Nicolas BERGER" a écrit
dans le message de groupe de discussion :

Utilisez vous une authentification Windows ou SQL Server ?
Windows va solliciter le contrôleur de domaine alors que SQL va
solliciter
votre base master.



Nous utilisons une authentification SQL SERVER.
D'autres idées?
Merci d'avance.
JN.


Avatar
Jean-Nicolas BERGER
> Avez vous utiliser le code suivant entre vos deux appels (pour vous assurer
que cela n'est pas lié au cache de SQL) ?

DBCC FREEPROCCACHE
GO
DBCC DROPCLEANBUFFERS
GO



Nous n'avons pas vidé le cache, mais nous avons d'abord lancé une fois la PS
(histoire que le cache s'en imprègne) et ensuite chacun notre tour lancé la
même PS, avec les mêmes paramètres.
Et le résultat est toujours du même ordre de grandeur, toujours dans le même
sens.
Plus ça vient, moins je comprends...
JN.
Avatar
Jean-Nicolas BERGER
> Plus ça vient, moins je comprends...



Une piste toutefois : la PS effectue plusieurs SELECT, le premier étant le
plus gros.
Et si elle attendait que le client ait reçu les résultat du premier SELECT
avant de poursuivre ou de lancer le suivant?
JN.
Avatar
Fred BROUARD
Jean-Nicolas BERGER a écrit :
Plus ça vient, moins je comprends...



Une piste toutefois : la PS effectue plusieurs SELECT, le premier étant le
plus gros.
Et si elle attendait que le client ait reçu les résultat du premier SELECT
avant de poursuivre ou de lancer le suivant?
JN.



oui !

a +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************