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

Développement SQL Server Discussion :

Paramètre sniffing sp [2008R2]


Sujet :

Développement SQL Server

  1. #1
    Membre régulier
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Points : 95
    Points
    95
    Par défaut Paramètre sniffing sp
    bonjour a tous
    Pour un de mes serveur du production j'ai un doute que les plans d'exécution ne sont pas optimales pour tous les appels vers ces SP
    donc comment je peut détecter ou tracer ce phénomène?
    Exit t'il une méthode avec trace du profiler ou avec les évenement étendu ?
    aussi dans quel cas j'aurai ce phénomène ?
    l'absence du mis a jour de statistique du façon régulier entraîne t'il l'apparition de ce phénomène
    pour Réparer le Paramètre Sniffing est ce quel la seul solution c'est toujours d'ajouter j'ai écouter que l’utilisation de cette option entraîne une cons somation énorme de ressources CPU
    je cherche une solution optimale
    merci pour vos aide

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 897
    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 897
    Points : 53 135
    Points
    53 135
    Billets dans le blog
    6
    Par défaut
    Il y a beaucoup de choses à faire en ce domaine.

    L'essentiel ayant été résumé ici : http://blog.developpez.com/sqlpro/p9...ns_de_requetes

    A +

  3. #3
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    l'absence du mis a jour de statistique du façon régulier entraîne t'il l'apparition de ce phénomène ?
    Si les options de création et de mise à jour automatique des statistiques sont positionnées à ON, ce qui est le cas par défaut, cela peut encore arriver.
    L'idéal est d'avoir un job qui met à jour les statistiques dont la valeur du compteur de modifications excède le nombre de lignes de la table multiplié par le seul de recalcul de la statistique (500 + 20% * nombres de lignes de la table).

    donc comment je peut détecter ou tracer ce phénomène?
    Exit t'il une méthode avec trace du profiler ou avec les évenement étendu ?
    Effectivement à l'aide de SQLProfiler ou des événements étendus (voir notamment les chapitres 14, 17 et 19 du livre référencé dans ma signature), on peut tracer les requêtes les plus gourmandes en ressources (CPU, Reads, Writes, Duration, RowCounts si vous le faites avec SQLProfiler).

    aussi dans quel cas j'aurai ce phénomène ?
    Lorsqu'au moins une des valeurs avec lesquelles le plan de la requête s'est compilé n'était pas dans l'histogramme de la statistique sous-jacente ET que cela a entraîné un défaut d'estimation de cardinalité. C'est une situation est assez rare. En d'autres termes, il est important de bien comprendre pourquoi le plan est sous-performant, et c'est rarement à cause d'un problème de reniflage des valeurs des paramètres.

    pour Réparer le Paramètre Sniffing est ce quel la seul solution c'est toujours d'ajouter WITH (RECOMPILE)
    Heureusement, non. En effet la compilation (et donc la recompilation) est un processus coûteux en CPU.
    Si la procédure stockée, ou une requête de cette procédure stockée est exécutée fréquemment, vous observerez donc une utilisation CPU élevée.
    L'alternative est d'aider l'optimiseur en lui précisant de ne pas tenir compte de la valeur pour un ou tous les paramètres : respectivement OPTION (OPTIMIZE FOR (@param UNKNOWN | = constante)) et OPTION (OPTIMIZE FOR UNKNOWN). Le plan étant mis en cache, toutes les exécutions subséquentes à sa compilation utiliseront cet indicateur; il est donc important de bien tester, et de revalider de temps en temps.

    je cherche une solution optimale
    Seule l'étude méticuleuse de plan de requête, et, le cas échéant, de la statistique sous-jacente, pourra vous aider dans ce sens.
    Encore une fois, les problèmes de reniflage de valeurs de paramètres à la compilation sont rares
    Cet ouvrage gratuit peut vous aider dans ce sens

    @++

  4. #4
    Membre régulier
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Points : 95
    Points
    95
    Par défaut
    cela me fait plaisir de vous me donner ces explications détailler

    merci bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. créer un noeuds avec des paramétres
    Par Toxine77 dans le forum XMLRAD
    Réponses: 5
    Dernier message: 21/01/2003, 16h11
  2. [xmlrad] Pb de paramètre ?
    Par Pm dans le forum XMLRAD
    Réponses: 7
    Dernier message: 07/01/2003, 14h37
  3. [SWT] Problème de paramètre GridData
    Par yolepro dans le forum SWT/JFace
    Réponses: 4
    Dernier message: 06/12/2002, 10h37
  4. passage en paramètre d'un array dynamique 2D
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2002, 19h47
  5. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24

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