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 :

Requête prend un temps infini


Sujet :

SQL Oracle

  1. #1
    Membre habitué Avatar de mamiberkof
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2005
    Messages : 290
    Points : 155
    Points
    155
    Par défaut Requête prend un temps infini
    Bonjour,

    J'ai une requête dont l’exécution sur une base de donnée remet en quelques secondes un resultat, mais lorsque j'exécute le même requete sur la deuxieme base, celà prend un temps infini et pas de résultat, reste bloqué jusqu'à j'annule le déroulement (j'utilise toad)

    sachant que les deux bases ont le même modèle,architecture,schémas .

    J'ai Oracle 8i; voilà ma requête :

    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
    select lpad(co.numeproj,5,0)||'-'||lpad(co.numeoper,2,0)||' '||libeoper||decode(datedest,null,'',' destoké le '||datedest) libeoper,cpt.codtyppr,cpt.libtyppr,cda.numedoss,cda.codeprod,prixcess,cda.dateaffe
    from   com_operation co,
           operation     o,
           com_type_produit cpt,
           com_dossier_attribution cda
    where  cda.numeprod is not null
    and    cda.etatdoss in ('EC','CL')
    and    co.CODEOPER  = cda.codeoper
    and    cda.codtyppr = cpt.codtyppr
    and    co.numeproj = o.numeproj
    and    co.numeoper = o.numeoper
    and    o.codeoper != 98
    and    not exists (select 1 
                       from com_detail_av dt,
                   com_autorisation_versement av,  
                   com_versement v
                        where dt.numedoss = cda.numedoss
                        and   dt.nume__av = av.nume__av
                        and   av.nume__av = v.nume__av)
    and   not exists (select 1 
                       from com_versement_anterieur
                        where numedoss = cda.numedoss)
    order by datedest

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Statistique à jour ?
    Même volumétrie ?

  3. #3
    Membre habitué Avatar de mamiberkof
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2005
    Messages : 290
    Points : 155
    Points
    155
    Par défaut
    Citation Envoyé par 7gyY9w1ZY6ySRgPeaefZ Voir le message
    Statistique à jour ?
    Même volumétrie ?
    la plus grosse c'est celle dont j'ai pas de problème d’exécution

  4. #4
    Membre confirmé
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Novembre 2007
    Messages : 419
    Points : 616
    Points
    616
    Par défaut
    il faut comparer les plans d'exécution sur les deux bases puis comprendre d'où viennent les différences.

  5. #5
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    En Oracle 8i l’optimiseur est par default en mode CHOOSE et la simple présence des statistiques pour les tables le fait commuter entre le mode COST et le mode RULE.

Discussions similaires

  1. [2000] Pourquoi ma requête prend autant de temps dans une Transaction?
    Par Manuelito93 dans le forum Développement
    Réponses: 21
    Dernier message: 12/06/2014, 16h07
  2. sous requete qui prend du temps
    Par abdoing dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 30/07/2007, 10h24
  3. [MySQL] quelle requête prend le moins de ressources
    Par wehtam dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/06/2007, 11h18
  4. [PL/SQL] [9i] Ca prend un temps infini (ou presque !)
    Par ftrifiro dans le forum Oracle
    Réponses: 5
    Dernier message: 27/03/2006, 16h12
  5. Voir requête éxécuté en temps réel ?
    Par [DreaMs] dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/01/2004, 15h52

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