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 :

Optimisation de requete car des full access table


Sujet :

Administration Oracle

  1. #21
    Membre Expert

    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    536
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 536
    Par défaut
    Citation Envoyé par elkamaro Voir le message
    Merci Waldar j 'étais entrain de le refaire

    Je ne suis pas du tout un spécialiste sur la lecture des plans d exécution, merci pour vos aides à venir
    Sur 12 minutes de temps d'execution (:12:23.77) plus de 10 minutes (00:10:48.51) sont consommées pas les operation 14-15-13-12-11 données dans l'ordre de leur execution.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    |* 11 |           HASH JOIN                  |                              |      1 |   1094K|  71297 |00:10:48.51 |    1769 |    971 |  3236K|  1363K| 5740K (0)|
    |* 12 |            TABLE ACCESS FULL         | PLUGIN_PERIMETRE_REPLICATION |      1 |  59609 |  59614 |00:00:00.01 |     248 |      0 |       |       |          |
    |* 13 |            HASH JOIN                 |                              |      1 |  89946 |  89946 |00:00:00.46 |    1521 |    971 |  1155K|  1155K| 1180K (0)|
    |  14 |             TABLE ACCESS FULL        | REFERENTIEL                  |      1 |    263 |    266 |00:00:00.01 |       7 |      0 |       |       |          |
    |  15 |             TABLE ACCESS FULL        | SERIE                        |      1 |  89946 |  89946 |00:00:00.27 |
    Les premières opérations executées par le CBO sont l'opération 14 suivie par l'opération 15
    L'opération 14 ne retournant que 266 records c'est l'opération 15 qui semble poser problème en retournant 89946.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    |  15 |             TABLE ACCESS FULL        | SERIE                        |      1 |  89946 |  89946 |00:00:00.27 |

    Je ne vois pas la table SERIE dans votre select d'origine?

    Mohamed Houri

  2. #22
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2003
    Messages : 92
    Par défaut
    Citation Envoyé par Mohamed.Houri Voir le message

    Je ne vois pas la table SERIE dans votre select d'origine?

    Mohamed Houri
    Désolé Mohamed, c est de ma faute, la requete a ete mise a jour depui la deniere fois

    je ne l ai pas reposter ici, je te l'ai envoyé par mp (merci de ne pas la poster ici)

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Citation Envoyé par elkamaro Voir le message
    je ne l ai pas reposter ici, je te l'ai envoyé par mp (merci de ne pas la poster ici)
    Faut arrêter les forums si tu ne veux pas partager les infos nécessaires à la résolution du problème

  4. #24
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Pour le dire autrement, tous ceux qui sont intervenus sont intéressés par la résolution de votre problème (sinon ils ne seraient pas intervenus), hors vous transformez un sujet ouvert en sujet fermé.

    Je comprends parfaitement que vous souhaitiez garder des informations confidentielles, dans ce cas de figure il suffit soit
    • de reproduire le même cas avec des nouvelles tables
    • renommer vos objets au moment de la création de vos messages

  5. #25
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2003
    Messages : 92
    Par défaut
    Citation Envoyé par Waldar Voir le message
    [*]renommer vos objets au moment de la création de vos messages[/LIST]
    Cette proposition est ma foi pertinente et desolé, je ne pensais pas que mon attitude vous aurait deplu

    Si vous voulez toujours m'aider alors voici ma requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    SELECT * FROM (
    SELECT 
    V.ID_PRODUIT, CAT1.LIB AS L1, CAT2.LIB AS L2, CAT3.LIB AS L3, S1.LIB AS L4, S1.ID_SERIE, V.VALEUR, 
                    TO_CHAR(V.DATE_PRODUIT,'YYYYMMDDHH24MISS'), V.STATUT, TO_CHAR(V.DATE_STATUT,'YYYYMMDDHH24MISS'), 
                    S1.ID_SERIE,V.FOURNISSEUR, V.FLAG, 
                    row_number() over (order by V.ID_PRODUIT) as ligne 
            FROM PRODUIT V, SERIE S1, MAG.CATALOGUE CAT1, MAG.CATALOGUE CAT2, MAG.CATALOGUE CAT3
            WHERE V.DATE_FIN_STATUT IS NULL
            AND V.ID_SERIE = S1.ID_SERIE
            AND S1.REF_SOURCE=CAT1.ID_REF
            AND S1.REF_UNITE=CAT2.ID_REF
            AND S1.REF_DIFFUSEUR=CAT3.ID_REF
            AND V.ID_PRODUIT> 321564 --321564
    AND S1.ID_SERIE IN(SELECT 
     S2.ID_SERIE
            FROM SERIE S2, MAG.CATALOGUE MCAT, 
            REGION.ETIQUETTE RET
            WHERE S2.id_serie = S1.ID_SERIE
            AND S2.REF_SOURCE=MCAT.ID_REF
            AND MCAT.LIB = RET.SOURCE
            AND RET.APPLICATION='PROD12'
            AND S2.ID_SERIE LIKE RET.SERIE
    )
    )WHERE ligne<=3000;

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Que donne ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    SELECT * FROM (
    SELECT 
    V.ID_PRODUIT, CAT1.LIB AS L1, CAT2.LIB AS L2, CAT3.LIB AS L3, S1.LIB AS L4, S1.ID_SERIE, V.VALEUR, 
                    TO_CHAR(V.DATE_PRODUIT,'YYYYMMDDHH24MISS'), V.STATUT, TO_CHAR(V.DATE_STATUT,'YYYYMMDDHH24MISS'), 
                    S1.ID_SERIE,V.FOURNISSEUR, V.FLAG, 
                    row_number() over (order by V.ID_PRODUIT) as ligne 
            FROM PRODUIT V, SERIE S1, MAG.CATALOGUE CAT1, MAG.CATALOGUE CAT2, MAG.CATALOGUE CAT3
            WHERE V.DATE_FIN_STATUT IS NULL
            AND V.ID_SERIE = S1.ID_SERIE
            AND S1.REF_SOURCE=CAT1.ID_REF
            AND S1.REF_UNITE=CAT2.ID_REF
            AND S1.REF_DIFFUSEUR=CAT3.ID_REF
            AND V.ID_PRODUIT> 321564 --321564
    AND EXISTS (SELECT 1
            FROM SERIE S2, MAG.CATALOGUE MCAT, 
            REGION.ETIQUETTE RET
            WHERE S2.id_serie = S1.ID_SERIE
            AND S2.REF_SOURCE=MCAT.ID_REF
            AND MCAT.LIB = RET.SOURCE
            AND RET.APPLICATION='PROD12'
            AND S2.ID_SERIE = RET.SERIE
            AND S1.ID_SERIE = S2.ID_SERIE
    )
    )WHERE ligne<=3000;
    IN EXISTS
    LIKE =

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [ODBC] Comment récupérer le nom des champs de table Access
    Par Alexlesilex dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 12/05/2006, 14h14
  2. requete sur des tables non liées
    Par matesp dans le forum Access
    Réponses: 3
    Dernier message: 03/05/2006, 17h01
  3. Optimisation Bases Access: Tables liées
    Par caporal dans le forum Access
    Réponses: 4
    Dernier message: 05/04/2006, 12h38
  4. Requete sql pour création de table dans une base access
    Par Ben156 dans le forum Bases de données
    Réponses: 1
    Dernier message: 17/01/2006, 22h12
  5. Optimiser MS SQL2000 car j'ai des problèmes de lenteurs
    Par djavaux dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 21/04/2004, 10h50

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