OVH Cloud OVH Cloud

Probleme d'optimisation avec des procedures

1 réponse
Avatar
zarko
Bonjour,
Avec SqlServer 2000 SP3 , j'ai ete confronte a un probleme bizare :
Je m'explique :
J'ai une procedure simple qui contient
un control avant une mise a jour dans la table

Si le control est basé sur une vue , la procedure s'execute avec un temps
de 10s , par contre si la procedure se base sur une requete ( la meme
requete sans passer par le vue )
la procedure s'execute avec un temps de moins d'une 1s .
Bizard
Quelqu'un a ete deja recontrer ce probleme ?

Merci d'avance pour toutes remponses.

1 réponse

Avatar
lionelp
Bonjour,

Pour commencer à comprendre ce qui se passe:
dbcc freeproccache
go
set statistics profile on
go
exec proc_avec_vue param...
go
dbcc freeproccache
go
set statistics profile on
go
exec proc_sans_vue param...
go

de cette manière tu vérifies si les plans d'exécution sont les mêmes, si les
cardinalités estimées et réelles sont les mêmes.
Si les plans sont les mêmes alors la différence de temps passé est dûe la
compilation (peu probable)
si les plans sont différents alors c'est la vue qui est mal résolue.

Cela permet d'orienter les recherches dans la base de connaissance.

Cordialement,
LionelP
"zarko" wrote:

Bonjour,
Avec SqlServer 2000 SP3 , j'ai ete confronte a un probleme bizare :
Je m'explique :
J'ai une procedure simple qui contient
un control avant une mise a jour dans la table

Si le control est basé sur une vue , la procedure s'execute avec un temps
de 10s , par contre si la procedure se base sur une requete ( la meme
requete sans passer par le vue )
la procedure s'execute avec un temps de moins d'une 1s .
Bizard
Quelqu'un a ete deja recontrer ce probleme ?

Merci d'avance pour toutes remponses.