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 averti
    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
    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
    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.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  3. #3
    Membre averti
    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
    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 chevronné

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    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
    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
    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
    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.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  7. #7
    Membre chevronné

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    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, 12h38
  2. Réponses: 15
    Dernier message: 16/08/2005, 15h43
  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, 14h23
  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, 13h09
  5. Création d'Index
    Par viny dans le forum Requêtes
    Réponses: 2
    Dernier message: 08/12/2003, 14h20

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