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 :

Hint /*+ ORDERED */


Sujet :

Administration Oracle

  1. #1
    Membre émérite Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Par défaut Hint /*+ ORDERED */
    Bonjour,
    j'ai un petit souci de compréhension...

    quel est la portée du Hint /*+ ORDERED */ en mode CHOOSE ?

    du moment que Oracle fait un certain nombres de permutations pour définir le meilleur chemin d'exécution, il devrait obligatoirement passer (si ce n'est commencer) pas l'ordre défini dans la clause From (si on admet qu'on a pas 52 tables dans le from...)

    donc est-ce que je dois comprendre que c'est un mode "mi-RULE mi-CHOOSE" c'est à dire qu'on veut traiter les données dans un ordre défini, mais qu'on lui laisse toute l'attitude pour choisir les index et autres subtilités ?

    et cet ordre défini comprend-il la (les) clause(s) WHERE restrictives de chaques tables... c'est à dire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Table1 et ses clauses déterminantes
    puis
    Table2 et ses clauses déterminantes,
    etc...
     
    ou 
     
    Table1 en mémoire
    puis 
    Table 2 en mémoire
    PUIS
    les clauses where...
    ou alors est-ce que je n'ai vraiment rien compris ? (ça c'est possible aussi)...

  2. #2
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Par défaut
    J'ai pas tout compris mais pour moi ORDERED indique à Oracle de faire les jointures dans l'ordre spécifié dans la clause FROM. Mais ce n'est qu'un conseil, Oracle est toujours libre de l'ignorer.


    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  3. #3
    Membre émérite Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Par défaut
    Uniquement les jointures, ou TOUTES les clauses restrictives, dans l'ordre des tables dans le From... ?

  4. #4
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Par défaut
    A mon avis ca ne concerne que les conditions de jointures: ca prend les tables dans l'ordre indiqué et ca applique les conditions de jointures indiquées.

    La doc est particulièrement concise sur ce hint (http://download-west.oracle.com/docs...tsref.htm#5555) :
    The ORDERED hint causes Oracle to join tables in the order in which they appear in the FROM clause.

    If you omit the ORDERED hint from a SQL statement performing a join, then the optimizer chooses the order in which to join the tables. You might want to use the ORDERED hint to specify a join order if you know something about the number of rows selected from each table that the optimizer does not. Such information lets you choose an inner and outer table better than the optimizer could.

    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Par défaut
    En ce qui concerne les clauses restrictives, cela n'intervient pas dans l'ordre de selection des tables, mais cela influera sur le fait d'utiliser un index ou de faire un table access full (la c'est oracle qui le gère en fonction de ces choix mais evidement tu peux intervenir)

  6. #6
    Membre émérite Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Par défaut
    OK, merci beaucoup à toutes et tous pour ces infos...


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

Discussions similaires

  1. Contraintes d'intégrité / hint ordered
    Par zidane2012 dans le forum Oracle
    Réponses: 5
    Dernier message: 02/05/2013, 10h11
  2. ORDER BY
    Par mythtvtalk.com dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 11/07/2003, 11h56
  3. Un Hint sur un PopupMenu ne fonctionne pas !!??
    Par momox dans le forum C++Builder
    Réponses: 6
    Dernier message: 26/05/2003, 16h48
  4. ORDER BY dans un ordre inhabituel
    Par Riam dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 21/03/2003, 13h29
  5. Hint et edit.enbled
    Par Invité dans le forum Composants VCL
    Réponses: 2
    Dernier message: 23/07/2002, 09h26

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