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 :

optimizer_mode : que représente le mode RULE ? Comment passer en mode CHOOSE ?


Sujet :

Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7
    Points : 5
    Points
    5
    Par défaut optimizer_mode : que représente le mode RULE ? Comment passer en mode CHOOSE ?
    Bonjour,

    J'ai une application qui tourne sur Oracle 9i avec le paramètre [optimiser_mode] positionné à [RULE] et je dois migrer cette application sur Oracle 10g.

    Je pensais que ce paramètre n'était plus supporté en Oracle 10g alors j'ai changé le paramètre [optimiser_mode] à [CHOOSE].

    => Résultat, un de mes traitements est passé de 20' à 8h !!!

    J'ai tenté de changer en passant à [ALL_ROWS], même résultat.
    J'ai tenté de changer en passant à [FISRT_ROWS], même résultat.

    Du coup, je suis revenu en mode [RULE] (qui finalement est encore supporté mais déconseillé car n'évolue plus depuis 1994).

    Mes questions sont donc :
    1 - Que signifie le mode RULE ?
    2 - Pourquoi et comment peut-il être aussi performant par rapport au nouveaux modes CBO (Cost Based Optimiser) ?
    3 - Si je devais migrer vers un mode CBO, j'ai cru comprendre qu'il fallait recalculer les statistiques... : comment faire ? Est-ce un paramètre à ajouter dans le PFILE ?

    Merci pour vos réponses à toutes ou une de mes questions.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Le mode CHOOSE s'appuie sur la volumétrie de la base pour choisir le chemin d'accés au donnée (explain plan) le plus adapté contrairement au mode RULE qui ne repose que sur des règles strictes.

    La volumétrie ne peut être connue que si les statistiques sont calculées régulièrement, la 10g crée un job en ce sens en principe. Sinon, recherche dans le forum pour voir comment t'y prendre (ou la doc : DBMS_STATS)

    Pour finir, il n'y a rien d'étonnant à avoir une baisse de perfs, certaines applis sont développées spécifiquement pour le mode RULE et ne supporte pas le mode CHOOSE. Il convient donc de réécrire les requêtes à problème ou adapter les plans d'indexation

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci pour ces précisions.

    Sinon, j'ai le paramètre [timed_statistics] positionné à [false].
    Cela peut-il être la cause d'un non calcul de statistiques ?

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    non mais à des fins de monitoring ça peut-être intéressant de le passer à TRUE sachant que l'overhead que cela génère est négligeable

Discussions similaires

  1. [CSS 3] Comment passer en mode ligne ?
    Par Mck698 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 21/05/2012, 23h05
  2. Comment passer en mode déboguage ?
    Par Fngonka dans le forum ASP.NET
    Réponses: 8
    Dernier message: 28/05/2010, 14h10
  3. Réponses: 12
    Dernier message: 04/09/2008, 20h34
  4. Réponses: 6
    Dernier message: 21/04/2007, 02h11
  5. Comment passer en mode édition dans un TTreeView ?
    Par Invité dans le forum C++Builder
    Réponses: 6
    Dernier message: 08/08/2005, 13h37

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