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 :

procédure stockée parfois rapide, parfois lente


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Par défaut procédure stockée parfois rapide, parfois lente
    Bonjour,

    chaque jour j'exécute une procédure stockée (via un job sql) à 7h00 du matin, heure à laquelle il n'y a pas d'activité sur le serveur sql.

    Mon problème est que je constate des écarts de temps d'exécution très important. En effet le temps normal constaté est d'environ 1h00, mais quelques fois cela varie entre 6 et 7h00 !!

    Comment puis analyser l'exécution de ma procédure stockée, des verrous, etc... pour déterminer la cause de cette lenteur ?

    Merci d'avance de votre contribution

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 182
    Par défaut
    L'idéal est de coller ton code dans le Query analyser et de faire ce qui suit avant de lancer ta requêtte :

    CTRL + L, qui te donne le plan d'exécution estimé.
    CTRL + K, pour vérifier les indexs.

    Ce problème peutr avoir plusieurs origines...

    As tu regardé ton journal des transactions ? Es tu sur d'avoir des indexs où c'est nécessaire ? As tu vraiment bien optimisé ton code ?

    Bref j'espère que ca pourra t'aider.

    Bon courage

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Par défaut
    merci de ta réponse...

    mon soucis est que je ne sais pas analyser le plan d'exécution...
    Pour les indexs, oui ils sont bons.

    Ce que je ne comprends pas, c'est que le volume à traiter est quasi identique, que personne n'est connecté à cette heure et que le temps d'exécution peut passer de 1 à 7 heures de traitement.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 182
    Par défaut
    Le journal des transactions n'est il pas full ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Par défaut
    le journal des transactions est à croissance auto, non limitée.

    Par contre il peut être assez plein, je le truncate après cette procédure stockée. Je peux éventuellement le faire avant ?

    je pensais lancer une trace (profils sql) pour analyser ce qui se passe... quels seraient les champs à tracer pour que ce soit pertinent ?

    Merci d'avance

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 182
    Par défaut
    Il n'est pas conseillé de laisser un journal en croissance auto. Regarde mais je mise une cacahuète qu'il atteint 1/3 de ton espace disque et à partir de ce moment, ca devient n'importe quoi dans la base.

    En fait il faut faire un backup avant le début de ton traitement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    backup log tabase with truncate_only
    J'ai eu le même soucis il n'y a pas longtemps. Une grosse procédure qui au final me remplissait le journal et les temps d'exécution de la dite procédure étaient variables ...

    Regarde donc de ce coté et tiens nous au jus.

Discussions similaires

  1. Batch T-SQL plus rapide que procédure stockée
    Par dens19 dans le forum Développement
    Réponses: 3
    Dernier message: 15/01/2010, 10h49
  2. Réponses: 2
    Dernier message: 16/12/2009, 18h14
  3. Procédure stockée lente..lente..lente..
    Par Bizoo dans le forum PL/SQL
    Réponses: 17
    Dernier message: 09/07/2008, 08h28
  4. Procédure stockées en java très lente
    Par jproto dans le forum SQL
    Réponses: 3
    Dernier message: 22/05/2008, 13h31
  5. [SQL Server] Le + rapide : 1 vue ou 1 procédure stockée ?
    Par Ekimasu dans le forum Langage SQL
    Réponses: 1
    Dernier message: 22/02/2006, 19h13

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