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

Langage SQL Discussion :

Requête anormalement longue


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 105
    Points : 115
    Points
    115
    Par défaut Requête anormalement longue
    Bonjour,
    je vous explique mon problème:

    je travaille avec MSQuery associé à Microsoft excel, et je test, explore la base de donnée sur SQuirreL.

    une requête que j'ai lancé, et qui a déjà fonctionné une fois sans problème sur SQuirreL et MSQuerry s'est mise a planté sous excel (utilisant pourtant MSQuerry!?!)

    j'ai du mettre fin au processus, qui n'a au passage pas fermé excel (bonne nouvelle? :/) mais qui m'a annoncé que le rafraichissement de mon querytable a planté.

    j'ai rééssayé cette requête, et elle met un temps incroyable... et même après 20 minutes, rien n'est encore apparu.

    voici 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    SELECT
    FFPENBEV.NUMBEV as "Numéro BEV",
    FFPENBEV.DATBEV as "Date Du BEV",
    FFPENBEV.NFOUFO as "N° fournisseur",
    FFPENBEV.DACTFA as "Département activité",
    FFPENBEV.MHTBEV as "Mnt H.T B.E.V",
    FFPENBEV.NUMDOS as "N° dossier",
    FFPENBEC.MHTBEV as "Mnt H.T B.E.V",
    FFPENBEC.NUMDOS as "N° dossier",
    DATDOS as "Date du dossier",
    AUTDOS as "Auteur du dossier",
    CCPRFA as "Chef produit",
    FFPENBEV.AOPEEB as "Année opération",
    FFPENBEV.NUMPRO as "NUMPRO",
    FFPENBEV.CATPRO as "N° catalogue promo",
    FFPENBEV.DEPOTL as "Dépot de livr.",
    FFPENBEV.NUMOR as "Numéro O.R",
    FFPENBEV.CODRLQ as "Code reliq. O,N",
    FFPENBEV.COMOR1 as "COMOR1"
    FROM DBLIB.FFPENBEV FFPENBEV,
    DBLIB.FFPENBEC FFPENBEC,
    DBLIB.FFPDOSSI FFPDOSSI,
    DBLIB.DBFDEPL0 DBFDEPL0
    WHERE FFPENBEV.NUMBEV = FFPENBEC.NUMBEV
    AND FFPENBEC.NUMDOS = FFPDOSSI.NUMDOS
    AND FFPENBEV.NFOUFO = DBFDEPL0.NFOUFA
    AND FFPDOSSI.DACTFA = DBFDEPL0.DACTFA
    AND DATDOS BETWEEN 120801 AND 120901
    AND CCPRFA IN
    (
       '03',
       '06',
       '17',
       '18',
       '08',
       '12',
       '16',
       '24',
       '01',
       '04',
       '10',
       '07',
       '19',
       '20',
       '21'
    )
    AND FFPENBEV.MHTBEV > 0
    ORDER BY 1, 2, 3, 4, 5, 6, 7, 8, 9
    je ne comprends pas du tout ce qui déclenché celà, je vous demande un petit coup de main, merci d'avance!!!

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Je ne connais pas Squirrel (à part celui de Tex Avery ) mais la première chose à examiner quand on a une requête lente est l'indexation des tables impliquées dans la requête.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 153
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    Commencez par réécrire les jointures en utilisant la norme SQL92...

    Je refuse d'essayer de comprendre un truc pareil, quand avec des jointures proprement écrite l'erreur sautera certainement aux yeux...
    On ne jouit bien que de ce qu’on partage.

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 105
    Points : 115
    Points
    115
    Par défaut
    L'indexation n'est pas le problème, je l'ai déja fait tourner 2 fois sous MSQuery et SQuirreL et sa m'a pris environ 5 secondes.

    Pour ce qui est de la mise en forme, je dois m'en occuper, mais je pensais d'abort vérifier que cette requête marche bien (je migre des requêtes entre différents supports)

    sinon, après quelques expérimentations, MSQuery me la fait tourner sans problème, mais refuse de me la renvoyer sous Xcel maintenent
    pour SQuirreL, bah... il tourne encore...

    c'est pourtant bizarre que après une bonne 100aine de requête ce soit la première qui me pose ce problème...

    EDIT: en fait, c'est TRES surement l'indexation,
    (je reviens sur mes mots, mais je m'y perd un peu là dedans)

    voici que SQuirreL a daigné répondre avec la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Durée de la requète 1 sur 1 (secondes): - Total: 2*254,748, Requète SQL: 2*251,213, Formatage du résultat: 3,535
    donc... je vais tenter un peu d'optimisation, toute autre piste est toujours bonne a prendre!

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 105
    Points : 115
    Points
    115
    Par défaut
    Bon... le problème est résolu : le service de maintenance éffectuais des tests et des manipulations sur la base de donnée...
    donc en fait il n'y a pas de problème... juste quelques personnes qui n'ont pas informés leur pauvre collègue qui s'est fracassé la tête sur le clavier que les opérations sur la base de donnée seraient bien ralenties.

    bref, sujet clos

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

Discussions similaires

  1. Requête anormalement longue
    Par LBO72 dans le forum SQL
    Réponses: 10
    Dernier message: 20/01/2010, 10h10
  2. Requête très longue à éxécuter
    Par pisoka000 dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/05/2007, 11h31
  3. [Requête] Requête trop longue
    Par Ithilien dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 08/01/2007, 10h58
  4. [MySQL] Requête trop longue ?
    Par Thomas1434 dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 24/03/2006, 21h55
  5. Réponses: 4
    Dernier message: 09/12/2005, 08h25

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