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 :

Index Scan incompréhensible


Sujet :

MS SQL Server

  1. #1
    Membre régulier Avatar de SetaSensei
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 78
    Points : 104
    Points
    104
    Par défaut Index Scan incompréhensible
    Bonjour,

    Voici mon problème : j'ai une procédure stockée assez lourde qui est exécutée très souvent. La partie la plus lourde possède 5 joins différents (inner et left) que j'essaye ne ce moment d'optimiser au maximum.

    Dans la clause where de ma requête, j'ai 3 conditions sur une même table, ces 3 conditions sont sur des colonnes de type Bit nullables.
    J'ai créé un index sur ces 3 colonnes, sans index j'avais un table scan qui prendait 30% de ma requête. Avec cet index (qui couvre toutes les conditions de tri et de sélection pour cette table) j'obtiens maintenant dans le plan d'exécution un index scan qui prend 23 % plus un bookmark lookup à 9% ...

    Si besoin je peux vous mettre la requête en entier mais ce n'est pas forcément parlant

    Merci !

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    Idéalement, il faudrait poster toutes les infos ( le plan_text, la sortie du set statistics io, la requête et les index sur les tables )

    merci
    Emmanuel T.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 810
    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 810
    Points : 52 865
    Points
    52 865
    Billets dans le blog
    5
    Par défaut
    Le plan de requête n'a pas grand intérêt et les pourcentages affichés ne sont qu'une inication. Sans cooroboration ils ne veuelent strictement rien dire.

    La mesure de l'efficacité d'un index se voit en nombre d'IO affiné en temps CPU.

    Pour cela affichez les statistiques de lecture des pages et de consommation de processeur dans l'analyseur de requête et comparez avant et après indexation.

    Inspirez vous de l'article que j'ai écrit à ce sujet :
    http://www.sqlspot.com/INDEXATION-un...l-exemple.html

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/04/2015, 16h34
  2. Comportement de l'optimiseur en 10.2.0.4 (index skip scan)
    Par 13thFloor dans le forum Administration
    Réponses: 3
    Dernier message: 09/04/2009, 21h28
  3. Réponses: 4
    Dernier message: 09/06/2008, 17h35
  4. [Technique] Intérêt des index
    Par ddams dans le forum Décisions SGBD
    Réponses: 10
    Dernier message: 04/11/2002, 15h11
  5. Requête imbriquée et indexes INTERBASE
    Par vadim dans le forum InterBase
    Réponses: 2
    Dernier message: 06/09/2002, 16h15

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