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 :

requete sql tourne sans fin


Sujet :

SQL Oracle

  1. #1
    Membre habitué Avatar de hammag
    Profil pro
    Inscrit en
    Février 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 511
    Points : 145
    Points
    145
    Par défaut requete sql tourne sans fin
    Bonjour,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Select champ1, champ2, champ3
    from vue1
    where champ1='val1'
    AND (EXISTS ( SELECT 'X' FROM vue2 
                 WHERE vue1.champ2 = vue2.champN1 
    			 AND champN2 = 'valeur')) 
    -- champ1, champ2, champ3 des champs dans la vue vue1
    -- champN1, champN2  des champs dans la vue2
    quand je lance cette requête dans un client oracle elle tourne sans fin. je ne sais pas d'où vient le problème. Y a t-il un problème avec les indexes ou autre chose ?

    j'ai besoin d'aide svp

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    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 453
    Points : 18 394
    Points
    18 394
    Par défaut
    Il nous faudra le code de vos vues, les DDL des tables impliquées, les index, le plan d'exécution, la volumétrie engagée, votre version d'Oracle.

    Au travail !

  3. #3
    Membre éclairé Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Points : 724
    Points
    724
    Par défaut
    Bonsoir,

    Et ca ca donne quoi?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT Vue1.champ1, Vue1.champ2, Vue1.champ3
    FROM vue1, vue2
    WHERE Vue1.champ1='val1' and
    vue1.champ2 = vue2.champN1 and
    vue2.champN2 = 'valeur'
    ?

    jko

  4. #4
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Houla, pas bon ce code !
    Ce n'est pas la même chose en terme de résultat : Si plusieurs lignes de vue2 correspondent aux critères, y'aura des doublons.

  5. #5
    Membre éclairé Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Points : 724
    Points
    724
    Par défaut



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT distinct Vue1.champ1, Vue1.champ2, Vue1.champ3
    FROM vue1, vue2
    WHERE Vue1.champ1='val1' and
    vue1.champ2 = vue2.champN1 and
    vue2.champN2 = 'valeur'

    jko

  6. #6
    Membre averti Avatar de mongilotti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2003
    Messages : 314
    Points : 303
    Points
    303
    Par défaut
    en attend tjrs plus de détails.

  7. #7
    Membre éclairé Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Points : 724
    Points
    724
    Par défaut
    Voui

  8. #8
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par jkofr Voir le message



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT distinct Vue1.champ1, Vue1.champ2, Vue1.champ3
    FROM vue1, vue2
    WHERE Vue1.champ1='val1' and
    vue1.champ2 = vue2.champN1 and
    vue2.champN2 = 'valeur'
    jko
    Houla.. pas le bon code non plus

    Dans sa requête, il n'y a pas de distinct sur vue1.. donc on peut avoir des doublons (voulu) et avec ton distinct, on ne les a plus

    La phrase suivante est à prendre avec des pincettes :
    DISTINCT = Pas bien (en règle générale ça cache un problème de requête)

    J'ai vu des développeurs mettre des distinct parce qu'il manquait un colonne dans une jointure, et que ça leur ramenait trop de lignes (et pas qu'une fois, et plusieurs développeurs différents)

  9. #9
    Membre éclairé Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Points : 724
    Points
    724
    Par défaut
    Bon

    Tant qu'on aura pas plus d'infos de l'auteur, ca sert a rien de spéculer

    A pluche
    jko

  10. #10
    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
    Citation Envoyé par jkofr Voir le message
    Bon

    Tant qu'on aura pas plus d'infos de l'auteur, ca sert a rien de spéculer

    A pluche
    jko
    Salut jkofr

    Pourrait-toi essayer de comprendre ce que McM t'explique ?

  11. #11
    Membre éclairé Avatar de jkofr
    Homme Profil pro
    Senior Consultant DBA (Trivadis SA)
    Inscrit en
    Octobre 2006
    Messages
    484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Senior Consultant DBA (Trivadis SA)
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 484
    Points : 724
    Points
    724
    Par défaut
    Hello,

    Mais bien sur.

    Ma solution n'en est pas une.

    Et j'ai bien compris la nuance
    Je voulais juste avoir un peut plus d'infos de l'auteur pour pouvoir comprendre why sa requête est sans fin.

    Je viens de faire le test de sa requête (style) dans ma base entre 2 tables de plus de 2 millions de lignes et s'est très rapide. Donc je comprends pas trop.

    Voilou.
    jko

Discussions similaires

  1. SAGE X3 V6 : Requete SQL Article sans Article site
    Par Gilvéga dans le forum SAGE
    Réponses: 2
    Dernier message: 03/04/2015, 17h49
  2. Requete avec sous requete tourne sans fin
    Par Invité dans le forum Requêtes
    Réponses: 5
    Dernier message: 02/09/2010, 12h45
  3. Code PHP qui tourne sans fin
    Par bruce-willis dans le forum Langage
    Réponses: 8
    Dernier message: 25/02/2009, 08h54
  4. Lot dts tourne sans fin
    Par Dev56 dans le forum Développement
    Réponses: 3
    Dernier message: 22/07/2008, 16h29
  5. requete sql pas sans résulta
    Par sabrina22 dans le forum Bases de données
    Réponses: 4
    Dernier message: 01/03/2006, 09h18

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