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 :

Oracle8i Index Bitmap non utilisé


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 56
    Par défaut Oracle8i Index Bitmap non utilisé
    Bonjour,

    J'ai créé un index de type bitmap sur un champ ch1 d'une table t1 (comportant 30581 lignes avec deux valeurs distinctes pour ce champ), lorsque que j'effectue la requete suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select ch1
    from t1
    where ch1 = '1';
    => l'index bitmap est bien utilisé

    Par contre, si je fais ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select *
    from t1 
    where ch1 = '1';
    => l'index n'est pas utilisé, il fait un table access full.
    A quoi cela peut etre du?

    Sam

  2. #2
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Par défaut
    Dans le 1er select, la réponse est dans l'index

    Dans le 2ième select (select *), Oracle a 2 choix :
    - soit utiliser ton index et ensuite aller lire les données dans la table,
    - soit accéder directement à la table.

    Oracle calcule le coût de ces 2 possibilités, et prend la moins couteuse (ici la 2ième).

    De toute façon, tu as 2 valeurs distinctes dans la table, donc Oracle se dit qu'il va falloir ramener la moitié de la table. Autant la lire directement, que de passer par l'index.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 56
    Par défaut
    Ah oki, merci pour le renseignement.

    Sam

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Index fullText non utilisé (Version 2)
    Par moumoune65 dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/10/2011, 08h01
  2. Index BITMAP non utilisé
    Par olap_2001 dans le forum Oracle
    Réponses: 27
    Dernier message: 04/04/2011, 10h11
  3. Index non utilisé dans une requête
    Par tibal dans le forum Administration
    Réponses: 9
    Dernier message: 10/05/2010, 15h29
  4. [Oracle 11g] Index non utilisé par oracle
    Par eryk71 dans le forum SQL
    Réponses: 12
    Dernier message: 17/02/2009, 10h29
  5. index non utilisé
    Par puck78 dans le forum SQL
    Réponses: 10
    Dernier message: 21/01/2009, 14h36

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