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 :

Que signifie ce symbole dans le plan d'execution?


Sujet :

Développement SQL Server

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mars 2007
    Messages : 616
    Points : 556
    Points
    556
    Par défaut Que signifie ce symbole dans le plan d'execution?
    Bonjour,

    Depuis quelques jours je remarque un changement sur le plan d'exécution de mes requêtes. Déjà, avant je ne voyait jamais de parrallelism et surtout je ne voyait pas de petites flèches dans un cercle coloré en bas de chaque icône du plan.

    Est-ce que qqun sait ce que ça veut dire?

    Je n'ai pas trouvé d'explication dans la doc.

    Pièce jointe 42980

  2. #2
    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,

    Sans la structure de vos tables, difficile de vous aider.

    L'icône "clustered index scan" indique que SQL Server va en fait effectuer un scan complet de la table, puisqu'un index cluster est la table elle-même.
    Celui-ci est crée par l'utilisateur, ou bien lors de la création d'une clé primaire sur la table.

    Cela peut signifier que :

    - vos statistiques de colonne ne sont pas à jour
    - le pourcentage du nombre de lignes spécifié par votre requête par rapport au nombre de lignes total de la table conduit l'optimiseur de requêtes à "penser" qu'il sera plus rapide et moins coûteux de parcourir la table plutôt que l'index.

    Apparemment vous avez recours à des tables temporaires, c'est forcément contre-performant ...

    @++

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mars 2007
    Messages : 616
    Points : 556
    Points
    556
    Par défaut
    Citation Envoyé par elsuket Voir le message
    Bonjour,

    Sans la structure de vos tables, difficile de vous aider.

    L'icône "clustered index scan" indique que SQL Server va en fait effectuer un scan complet de la table, puisqu'un index cluster est la table elle-même.
    Celui-ci est crée par l'utilisateur, ou bien lors de la création d'une clé primaire sur la table.
    @++
    Non, en faite je voulais savoir pourquoi maintenant il y a ce parallelism et que signifie les 2 flèches sur fond jaune?

  4. #4
    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
    OK

    Cet opérateur prend les valeurs des colonnes retournées par le flux produit par le scan de l'index cluster pour le réordonner.
    Y'a-t-il une clause ORDER BY dans votre requête ?
    Pouvez-vous nous donner le plan de requête en version texte SVP ?

    @++

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Luxembourg

    Informations forums :
    Inscription : Mars 2007
    Messages : 616
    Points : 556
    Points
    556
    Par défaut
    Citation Envoyé par elsuket Voir le message
    OK
    Pouvez-vous nous donner le plan de requête en version texte SVP ?
    @++
    La requête c'était ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    SELECT 
    	o06.GP06_NO_QUI			PRM_NO_QUI
    	,o06.ODS_DAT_DEB_VAL		PRM_D_ODS
    --,dwh.*
    --		INTO #tmp
    FROM ODS.dbo.GPTB06 o06
     
    LEFT JOIN FACT_PRM dwh
    	ON o06.GP06_NO_QUI = dwh.PRM_NO_QUI
    --	AND gar.GAR_KEY = dwh.PRM_GAR_KEY 
    	AND dwh.PRM_D_ANNUL IS NULL
    WHERE o06.GP06_POL_PORTFOLIO = '01L' 
    	AND o06.ODS_DAT_FIN_VAL = '99991231'	
    	AND (dwh.PRM_NO_QUI IS NULL
    		OR o06.ODS_DAT_DEB_VAL <> PRM_D_ODS)
    Par contre je ne sais pas du tout comment voir le plan d'exécution en texte.

  6. #6
    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
    C'était pas ce que je cherchais
    Avant le texte de la requête écrivez : SET STATISTICS PROFILE ON
    Cela va produire le plan d'exécution au format texte

    Effectivement l'opérateur de parallélisme est coûteux, comme le Hash Match.
    Voyez à créer un index non-cluster qui couvre votre requête ...

    @++

Discussions similaires

  1. Que signifie le symbol <> dans une requete?
    Par wassim_boy dans le forum Débuter
    Réponses: 2
    Dernier message: 19/05/2012, 22h41
  2. Que signifient les [..] placés dans le code
    Par vtuning.net dans le forum C#
    Réponses: 2
    Dernier message: 01/10/2009, 11h22
  3. Que signifie ces éléments dans l'interface graphique?
    Par flet le kid dans le forum Débuter
    Réponses: 2
    Dernier message: 01/05/2009, 20h33
  4. Que signifie le symbole >> en Assembleur ?
    Par stephane543 dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 25/01/2009, 00h06
  5. Que signifie le symbole "* &" ?
    Par milanista dans le forum C++
    Réponses: 6
    Dernier message: 12/04/2006, 18h29

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