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

Administration Oracle Discussion :

index sur plusieurs colonnes


Sujet :

Administration Oracle

  1. #1
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 357
    Points : 280
    Points
    280
    Par défaut index sur plusieurs colonnes
    Bonjour

    Je doit migrer des scripts Mysql vers Oracle.

    J' ai des tables qui ont le schema suivant

    Table 1

    Colonne A (PK) | Colonne B | Colonne C

    Dans les scripts d'origine la personne a crée les indexes suivants :

    INDEX 1 sur Colonne A (PK)
    INDEX 2 sur Colonne B
    Index 3 sur Colonne C
    INDEX 4 sur Colonne A,B,C

    AU niveau de l'application , il y a effectivement des requettes sur Colonne A , B , C ou sur les 3 en memes temps.

    Dans ce cas , l' index 4 est il justifié ?

    Merci d'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 175
    Points : 180
    Points
    180
    Par défaut
    oui

  3. #3
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 357
    Points : 280
    Points
    280
    Par défaut
    J ai pas encore un grand volume de données dans la base mais poiurquoi. Un index qui aura besoin des 3 clonnes pourrat utiliser les 3 indexes non ?

  4. #4
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Citation Envoyé par ZashOne Voir le message
    J ai pas encore un grand volume de données dans la base mais poiurquoi. Un index qui aura besoin des 3 clonnes pourrat utiliser les 3 indexes non ?
    Parce que l'index dans ce cas la, dépend de l'ordre des colonnes !
    ( Accéder à la table dans l'ordre ABC est totalement diférent d'un accés sur BCA, par exemple !)

  5. #5
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    357
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 357
    Points : 280
    Points
    280
    Par défaut
    oui j ai fait un peu de test et effetivement sans creer l index , j'obtient l'explain plan suivant :

    Rows Execution Plan
    ------- ---------------------------------------------------
    0 SELECT STATEMENT MODE: ALL_ROWS
    1 TABLE ACCESS MODE: ANALYZED (BY INDEX ROWID) OF
    'xxx' (TABLE)
    0 INDEX MODE: ANALYZED (UNIQUE SCAN) OF
    'xxx_PK' (INDEX (UNIQUE))
    Donc il fait bien un access full a la table et non pas dans le second index.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/01/2015, 00h55
  2. Index sur plusieurs colonnes
    Par JojoLaFripouille dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 20/07/2006, 15h32
  3. Index sur une colonne Date
    Par sjaeger dans le forum Oracle
    Réponses: 11
    Dernier message: 10/11/2005, 14h55
  4. Lister sur plusieurs colonnes dans état
    Par armagued dans le forum Access
    Réponses: 3
    Dernier message: 30/10/2005, 21h21
  5. Query sur plusieurs colonnes avec count(distinct...)
    Par Jeankiki dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/08/2004, 15h22

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