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

SQL Oracle Discussion :

index et ordre des attributs dans clause where


Sujet :

SQL Oracle

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 8
    Points : 8
    Points
    8
    Par défaut index et ordre des attributs dans clause where
    Bonjour,

    j'ai une question concernant oralce et la prise en compte des index.

    Si j'ai un index construit sur plusieurs atttributs comme celui
    create index monIndex on matable1 (attribut1 , attribut2, attribut3)

    alors est ce que l'ordre de mes conditions dans ma clause where est important ???

    si je fais cette requete
    select ...
    from matable1
    where
    attribut3='toot'
    and
    attribut1=25
    and
    attribut2='titi'

    est ce que l'index sera prise en compte, ou bien il ne sera prise en compte que si la requete est la suivante :
    select ...
    from matable1
    where
    attribut1=25
    and
    attribut2='titi'
    and
    attribut3='toot'


    merci pour vos lumières

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 207
    Points : 237
    Points
    237
    Par défaut
    Bonsoir,

    L'expirementation est le meilleur moyen de répondre à ce genre de question.
    l'utilisation d'index dépends d'énormement de chose (version, paramètre d'initialisation, stats;....)
    Dans votre cas, il suffit de regarder les plans d'execution pour le deux requetes et vous aurrez la réponse à votre question.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2006
    Messages : 139
    Points : 152
    Points
    152
    Par défaut
    Bonsoir,
    sans trop s'avancer, dans les 2 cas l'index devrait être pris(hors conditions exceptionnelles)
    L'ordre du where n'a pas de consequence par contre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select ...
    from matable1
    where
    attribut2='toot'
    and
    attribut3='titi'
    n'est pas evident de prendre l'index.L'ordre des colonnes dans l'index a lui une importance

Discussions similaires

  1. Ordre des conditions dans une clause WHERE, important ou pas en 2012 ?
    Par clavier12AZQSWX dans le forum Langage SQL
    Réponses: 5
    Dernier message: 07/03/2012, 12h54
  2. [MySQL] Influence de l'ordre des conditions dans la clause WHERE
    Par morgan47 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 09/02/2012, 23h46
  3. [DOM] Ordre des attributs dans un élément
    Par Mischka dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 14/04/2008, 16h19
  4. [XDoclet] [Hibernate] Ordre déterministe des attributs dans hbm.xml générés
    Par Dirty Henry dans le forum EDI et Outils pour Java
    Réponses: 1
    Dernier message: 21/03/2007, 16h49
  5. Ordre des tests dans la clause WHERE
    Par Tans98 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 22/09/2004, 11h52

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