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 :

[Oracle 11g] Interprétation du plan d'execution


Sujet :

SQL Oracle

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de eryk71
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 322
    Par défaut [Oracle 11g] Interprétation du plan d'execution
    Bonjour,

    Sous Oracle 11g, j'ai executé la même requête sur 2 tables avec une jointure.
    J'aimerai connaitre votre avis sur le résultat dans le plan d'execution.

    Table de dimension : dimclient (190 000 lignes)
    Table de fait : Faitvente (1 000 000 lignes)

    Index Bitmap de jointure créee entre les 2 tables sur les champs clientid :

    CREATE BITMAP INDEX idx_faitvente_dimclient
    ON faitvente (dimclient.clientid)
    from faitvente, dimclient
    where faitvente.clientid = dimclient.clientid
    1ère requête :

    explain plan set statement_id ='38' for
    select quantite from faitvente,dimclient
    where faitvente.clientid = dimclient.clientid
    L'index sur DIMCLIENT est utilisé (la PK) mais l'index sur la table de fait n'est pas utilisé. (Table access full)

    2e requête :

    explain plan set statement_id ='39' for
    select /*+ INDEX_COMBINE (faitvente) STAR */ quantite from faitvente,dimclient
    where faitvente.clientid = dimclient.clientid
    Je force l'utilisation de l'index de joniture bitmap avec un hint.

    Le résultat des 2 requêtes du plan d'execution est en pièce jointe.

    Je constate que dans la colonne cost, IO cost et le time, la première requête est la plus avantageuse.
    Pour les champs bytes et CPU_cost, c'est la 2e requête le plus avantageuse.

    De manière générale, je dirais que l'index de jointure bitmap utilisé dans la 2e requête est moins performante.

    J'aimerai connaître votre avis dessus, d'après vous laquelle de ces requête est la plus performante?

    Merci
    Images attachées Images attachées  

Discussions similaires

  1. plan d'execution oracle
    Par miloon dans le forum Administration
    Réponses: 3
    Dernier message: 24/03/2009, 10h19
  2. plan d'execution oracle
    Par miloon dans le forum Administration
    Réponses: 4
    Dernier message: 03/03/2009, 08h40
  3. plan d'execution oracle via visual c++
    Par miloon dans le forum Oracle
    Réponses: 0
    Dernier message: 24/02/2009, 13h30
  4. [Oracle 10.2] Plan d'execution fonction PL/SQL
    Par pegase06 dans le forum PL/SQL
    Réponses: 6
    Dernier message: 13/02/2007, 12h02
  5. plan d'execution
    Par osoudee dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 09/03/2006, 10h40

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