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

Oracle Discussion :

Stratégie de création d'indexes


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Stratégie de création d'indexes
    Bonjour, juste une petite question :

    Quelle est la différence entre créer un indexe sur les champs A et B et créer 2 indexes, un pour A et un pour B ?

    Merci

  2. #2
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Tout dépend du type de condition que tu as dans tes clauses WHERE :

    - si tu as des conditions sur A seul : index sur A
    - si tu as des conditions sur B seul : index sur B
    - si tu as des conditions sur A seul ou bien sur A et B : index sur A, B
    - si tu as des conditions sur A seul ou bien sur A et B ou bien sur B seul : index sur A, B et sur B

    Après à partir de 9i, l'index sur A,B peut être utilisé pour des recherches sur B seul (skip scan) si la colonne A est peu sélective même si ca m'avait semblé quand même bcp plus long qu'un index sur B.

    Laly.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 13
    Points : 11
    Points
    11
    Par défaut
    Ok merci

    Donc si je comprend bien, l'ordre des champs lors de la creation des indexes est importantes ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CREATE INDEX INDEX_TOTO ON
      TOTO(A, B)
    ;
    est différent de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    CREATE INDEX INDEX_TOTO ON
      TOTO(B, A)
    ;
    ?

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut
    oui et la condition la plus importante à mon avis est la selectivité des indexes.
    Prends la colonne la plus selective en premier

  5. #5
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    oui et sinon, merci de penser aux balises CODE

  6. #6
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Bonjour Aline,


    Citation Envoyé par aline
    oui et la condition la plus importante à mon avis est la selectivité des indexes.
    Prends la colonne la plus selective en premier
    Ca n'est pas vrai ! Cf. http://asktom.oracle.com/pls/ask/f?p...:1409668892797

    De plus mettre les colonnes les moins sélectives d'abord permet d'utiliser l'option COMPRESS des indexes et d'économiser de la place ainsi que d'améliorer la performance des indexes.


    Laly.

  7. #7
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut
    Bonjour Laly, cela faisait longtemps! 8)

    Et bien merci pour le lien et pour remettre en cause sertaines idée reçues!

Discussions similaires

  1. [DBF]Comment afficher progression de création d'index?
    Par fruaud dans le forum Autres SGBD
    Réponses: 1
    Dernier message: 28/12/2005, 11h38
  2. Réponses: 15
    Dernier message: 16/08/2005, 14h43
  3. Création d'index sur un TTable
    Par bencot dans le forum Bases de données
    Réponses: 3
    Dernier message: 09/03/2005, 13h23
  4. [Stratégie] [Outil] création d'editeur ?
    Par spoutyoyo dans le forum Interfaces Graphiques en Java
    Réponses: 8
    Dernier message: 09/03/2005, 12h09
  5. Création d'Index
    Par viny dans le forum Requêtes
    Réponses: 2
    Dernier message: 08/12/2003, 13h20

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