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 :

Parcours d'un INDEX


Sujet :

SQL Oracle

  1. #1
    Membre actif
    Inscrit en
    Septembre 2012
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2012
    Messages : 11
    Par défaut Parcours d'un INDEX
    Salut,
    Comment je peux savoir est ce que mon INDEX est utilisé ou pas ?

    Merci d'avance.

  2. #2
    Membre expérimenté
    Avatar de ora_home
    Homme Profil pro
    Consultant Oracle
    Inscrit en
    Février 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant Oracle
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 103
    Par défaut
    Afficher le plan d'exécution

  3. #3
    Membre actif
    Inscrit en
    Septembre 2012
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2012
    Messages : 11
    Par défaut
    Citation Envoyé par ora_home Voir le message
    Afficher le plan d'exécution
    Comment faire ça ??

  4. #4
    Membre expérimenté
    Avatar de ora_home
    Homme Profil pro
    Consultant Oracle
    Inscrit en
    Février 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant Oracle
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 103
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL> explain plan for select * from scott.emp ;
    Explicité.


    Puis :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SQL> SELECT plan_table_output FROM table(dbms_xplan.display('plan_table',null,'serial'));
     
    PLAN_TABLE_OUTPUT
     
    --------------------------------------------------------------------------------
    --------------------------------------------------------------------
    | Id  | Operation            |  Name       | Rows  | Bytes | Cost  |
    --------------------------------------------------------------------
    |   0 | SELECT STATEMENT     |             |    14 |   518 |     2 |
    |   1 |  TABLE ACCESS FULL   | EMP         |    14 |   518 |     2 |
    --------------------------------------------------------------------
    Note: cpu costing is off

  5. #5
    Membre actif
    Inscrit en
    Septembre 2012
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2012
    Messages : 11
    Par défaut
    ça ne marche pas

  6. #6
    Membre expérimenté
    Avatar de ora_home
    Homme Profil pro
    Consultant Oracle
    Inscrit en
    Février 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant Oracle
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 103
    Par défaut
    Citation Envoyé par madritista Voir le message
    ça ne marche pas
    c'est quoi l'erreur ??

    Normalement vous devez avoir les droits pour le faire.
    assurer vous que le script : utlxpls.sql est déjà exécuté, sinon vous devez le lancer. le script existe au niveau de : $ORACLE_HOME/rdbms/admin/utlxpls.sql

  7. #7
    Membre actif
    Inscrit en
    Septembre 2012
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2012
    Messages : 11
    Par défaut
    Oui ça marche, parfaitement merci

  8. #8
    Membre expérimenté
    Avatar de ora_home
    Homme Profil pro
    Consultant Oracle
    Inscrit en
    Février 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant Oracle
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 103
    Par défaut
    comme tu peux activer l'autotrace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sql> set autotrace on explain;
    Sql>set autotrace off; ----> pour désactiver
     
    sql> set autotrace on;-----> pour activer la trace. cette dernière affiche plus 
    d'informations concernant l'exécution de ta requête

  9. #9
    Membre actif
    Inscrit en
    Septembre 2012
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2012
    Messages : 11
    Par défaut
    ces dernières commandes ne marche pas !!!

  10. #10
    Membre expérimenté
    Avatar de ora_home
    Homme Profil pro
    Consultant Oracle
    Inscrit en
    Février 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant Oracle
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 103
    Par défaut
    Normalement quand on essaye quelque chose et ne marche pas, on poste aussi le message d'erreur

  11. #11
    Membre actif
    Inscrit en
    Septembre 2012
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2012
    Messages : 11
    Par défaut
    le voilà :
    SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled
    SP2-0611: Error enabling STATISTICS report

  12. #12
    Membre expérimenté
    Avatar de ora_home
    Homme Profil pro
    Consultant Oracle
    Inscrit en
    Février 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant Oracle
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 103
    Par défaut
    le rôle PLUSTRACE doit être activé, et pour l’activer vous devzez exécuter le script C:\oracle\product\10.2.0\db_1\sqlplus\admin\plustrce.sql en tant que sysdba. Puis tu donne le droit à l'utlisateur que va exécuter la commande (grant ...)

  13. #13
    Membre actif
    Inscrit en
    Septembre 2012
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2012
    Messages : 11
    Par défaut
    Ouiiii, ca mrche. Merci beaucoup

  14. #14
    Membre averti
    Femme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Septembre 2012
    Messages : 20
    Par défaut
    Citation Envoyé par ora_home Voir le message
    SQL> explain plan for select * from scott.emp ;
    Explicité.


    Puis :


    SQL> SELECT plan_table_output FROM table(dbms_xplan.display('plan_table',null,'serial'));

    PLAN_TABLE_OUTPUT

    --------------------------------------------------------------------------------
    --------------------------------------------------------------------
    | Id | Operation | Name | Rows | Bytes | Cost |
    --------------------------------------------------------------------
    | 0 | SELECT STATEMENT | | 14 | 518 | 2 |
    | 1 | TABLE ACCESS FULL | EMP | 14 | 518 | 2 |
    --------------------------------------------------------------------
    Note: cpu costing is off
    quand j'affiche mon plan d'exécution, parfois je trouve INDEX RANGE SCAN, et parfois INDEX UNIQUE SCAN. Quelle est la diffrence ??

  15. #15
    Membre expérimenté
    Avatar de ora_home
    Homme Profil pro
    Consultant Oracle
    Inscrit en
    Février 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant Oracle
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 103
    Par défaut
    INDEX UNIQUE SCAN : Oracle peut accéder à l'unique enregistrement directement via l'index. (c'est la méthode la plus optimale)

    INDEX RANGE SCAN : Oracle fait un parcours partiel de l'index

  16. #16
    Membre averti
    Femme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Septembre 2012
    Messages : 20
    Par défaut
    D''aaccord, et pour INDEX FULL SCAN, je crois un parcours complet de l'index !!!

  17. #17
    Membre expérimenté
    Avatar de ora_home
    Homme Profil pro
    Consultant Oracle
    Inscrit en
    Février 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant Oracle
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 103
    Par défaut
    Oui, exactement

    Mais quand on a INDEX UNIQUE SCAN, c'est là où on aura un bon temps de réponse.

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

Discussions similaires

  1. Perf de parcours vector : iterator vs index
    Par codnob dans le forum SL & STL
    Réponses: 20
    Dernier message: 28/01/2010, 15h23
  2. [MySQL] Recuperer identifiant auto-incrementable comme index de parcours
    Par eddycool dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 20/05/2009, 18h01
  3. Message 'Duplicate index entry'
    Par Poulou dans le forum Administration
    Réponses: 13
    Dernier message: 04/05/2004, 15h57
  4. [Technique] Intérêt des index
    Par ddams dans le forum Décisions SGBD
    Réponses: 10
    Dernier message: 04/11/2002, 16h11
  5. Requête imbriquée et indexes INTERBASE
    Par vadim dans le forum InterBase
    Réponses: 2
    Dernier message: 06/09/2002, 17h15

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