IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

[2005] - Procedure Stockée - Lente parfois (a devenir fou ! )


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 21
    Points : 11
    Points
    11
    Par défaut [2005] - Procedure Stockée - Lente parfois (a devenir fou ! )
    Bonjour,

    sur Sql 2005 dernier SPack.

    J'ai une procedure stockée (peu importe le contenu)
    Lorsque je l'execute sur à partir d'un poste client soit :
    Par une application
    ou meme par l'explorateur de serveur de BDD de vs2005
    ca prends environ 9,5 secondes.

    Apres je me connecter a partir de la meme machine cliente via Sql management studio.
    je lance la SP la premiere fois ca met 9,5
    J'edite la SP sans faire de modif (ajout d'espace, etc...)
    j'enregistre et la 0,7 secondes ?
    le faites d'avoir modifié la SP l'accelere

    alors je reprends la mon soft et mon explorateur.. et la aussi 0,7 sec !

    par contre des que je redemarre le SQL il faut que je reedite la SP pour reobtenir ce 0,7 sec...


    hummm tres bizar HELP


    ps : bien sur c'est toujours les memes conditions et parametres pour executer la procedure

  2. #2
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Points : 1 281
    Points
    1 281
    Par défaut
    C'est peut etre du au fait que la Transac sql est un langage compilé, c'est toujours plus lent la premiere fois, après ca va plus vite.

    Un expert pourra peut etre confirmer.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par HULK
    C'est peut etre du au fait que la Transac sql est un langage compilé, c'est toujours plus lent la premiere fois, après ca va plus vite.

    Un expert pourra peut etre confirmer.
    merci pour ta reponse rapide !

    si je ne modifie pas la SP. j'attends un peu.. et je rapelle la SP ca redevient lent. il faut que je la reedite pour qu'elle redevienne rapide...

  4. #4
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Points : 923
    Points
    923
    Par défaut
    sqlserveur met le Plan de la procédure en cache après la 1° exécution hormis si tu la créés avec l'option WITH RECOMPILE

    donc ton cas n'est pas anormal a priori; je trouve que le rapport 0,7s a 9,5s est quand même un peu gros.

    PS: n'as tu pas du texte intégral, de la réplication ou autres trucs en ce genre sur ta BDD?

    serge

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 21
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par serge0934
    sqlserveur met le Plan de la procédure en cache après la 1° exécution hormis si tu la créés avec l'option WITH RECOMPILE

    donc ton cas n'est pas anormal a priori; je trouve que le rapport 0,7s a 9,5s est quand même un peu gros.

    PS: n'as tu pas du texte intégral, de la réplication ou autres trucs en ce genre sur ta BDD?

    serge

    alors mon recompile est a faux dans les proprietes.

    cette SP appelle uniquement d'autre SP. interne a la meme base du meme serveur.


  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 907
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 907
    Points : 51 656
    Points
    51 656
    Billets dans le blog
    6
    Par défaut
    Ajoutez la clause :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OPTION (KEEPFIXED PLAN, PARAMETERIZATION FORCED)
    à toutes vos requête de la SP en jouant sur ces deux options

    Prévoyez quand même une recompilation explicite de la proc à l'aide de sp_recompile.

    Rzegardez si vos index sont fragmentés.

    A +

Discussions similaires

  1. procedure stockée et asp.net(visual studio 2005)
    Par SALIA LOUA OLIVIER dans le forum ASP.NET
    Réponses: 1
    Dernier message: 23/09/2009, 12h41
  2. [SQL 2005 sur Serveur 2008] pb de procedure stockée dans master
    Par A.S.I Gérard dans le forum Développement
    Réponses: 2
    Dernier message: 25/06/2009, 10h07
  3. [Procedure STockée] Execution sous VB.net 2005
    Par GarsDuCalvados dans le forum VB.NET
    Réponses: 4
    Dernier message: 20/02/2008, 10h53
  4. sql server 2005 : ou sont cache les procedures stockes ?
    Par arioule dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/12/2006, 15h52
  5. Modifier une procedure stockée SQL 2005
    Par cpofm dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/10/2006, 07h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo