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 :

Histogramme sur une fct(ma_colonne)


Sujet :

Administration Oracle

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 37
    Par défaut Histogramme sur une fct(ma_colonne)
    Bonjour,

    Soit un index sur fct(ma_colonne) où fct est une fonction oracle. fct(ma_colonne) vaut 0 ou 1.

    La distribution de fct(ma_colonne) sur la table est très inégale: fct(ma_colonne) vaut 0 dans 0.1% des cas environ.

    Est-il possible d'indiquer à Oracle de faire un histogramme pour fct(ma_colonne) ? Y a t'il un autre moyen de faire comprendre à Oracle que la distribution est trés inégale et qu'il a intérêt à toujours utiliser l'index quand je fais "...WHERE fct(ma_colonne) = 0" et de ne pas utiliser l'index quand je fais "...WHERE fct(ma_colonne) = 1" ?

    Merci d'avance pour votre aide,

    A noter que je suis plutôt débutant Oracle

  2. #2
    Membre expérimenté Avatar de Laurent_du_78
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 138
    Par défaut
    Bonjour,
    il faut effectivement calculer les stats avec calcul d'histogramme sur cette table.
    Le fonctionnement le de l'optimiseur est exactement comme tu le décris.
    - valeur avec faible cardinalité : INDEX
    - valeur avec forte cardinalité : FULL

    Stats
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    method_opt => 'FOR ALL INDEXED COLUMNS SIZE AUTO'
    Il faut ne faut pas être en CURSOR_SHARING à FORCE, car la 1ere requête exécuté fixera le plan d'exécution des suivantes (FULL ou INDEX).

Discussions similaires

  1. [C#] Faire un Histogramme sur une Winform
    Par Jimmy_S dans le forum Windows Forms
    Réponses: 4
    Dernier message: 21/07/2008, 15h05
  2. Réponses: 1
    Dernier message: 08/08/2007, 16h33
  3. Réponses: 3
    Dernier message: 15/06/2007, 12h06
  4. Ajouter une Fct "onclick" sur un Pop Up
    Par HerveKr dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/10/2006, 11h22
  5. Pb sur une fct qui marche sous mozilla mais pas ie
    Par chpog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/09/2005, 11h26

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