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

Requêtes MySQL Discussion :

Temps de réponse catastrophique en local


Sujet :

Requêtes MySQL

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Points : 416
    Points
    416
    Par défaut Temps de réponse catastrophique en local
    Bonjour a tous,

    voila je post un message pour vous faire part d'un problème que je rencontre et que je parviens pas à résoudre.

    En fait tout simplement, j'ai une requête SQL qui passe sur mon serveur Web en quelques secondes alors que sur mon poste en local le temps est horriblement long (requête arrêté après 2h et toujours pas de résultat) !

    En fait pour les requêtes simple de ce type aucun problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT .... FROM .... WHERE ...
    Mais quand je vais commencer à écrire des requêtes du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT ...
    FROM t1
    WHERE t1.chp1 = xxx
       AND (SELECT x FROM t2 WHERE t2.chp1 = t1.chp2) = y
    Même la requête la plus simple utilisant un champs d'une table dans une sous-requête me pose de gros problème de lenteur sur ma machine en local alors que cela nécessite quelque secondes sur le serveur.

    Je ne sais pas quoi faire pour arranger cela...

    Merci par avance.
    Jérémy
    Ingénieur Conception et Développement

  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
    J'ai du mal à saisir ce que doit faire la requête avec la sous-requête...
    ce ne serait pas une simple jointure écrite d'une manière alambiquée quand même ?

    Dites-nous ce que vous voulez faire et la structure de vos tables pour qu'on puisse mieux vous aider.

    Au fait, "quelques secondes sur le serveur" c'est déjà beaucoup, sauf si vous manipulez des volumes de données assez importants (à partir de plusieurs centaines de milliers de lignes).
    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
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Points : 416
    Points
    416
    Par défaut
    voila par exemple une 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
    SELECT a.prod_cle, a.prix 
    FROM produit a INNER JOIN histoproduit b ON a.prod_cle = b.Histoprod_prod_cle
    WHERE b.Histoprod_chpModif ='Statut change' 
    AND EXISTS 
    (
        SELECT Histoprod_EtatFin as status 
        from histoproduit
        WHERE histoprod_prod_cle = a.prod_cle 
            AND Histoprod_chpModif ='Statut change' 
            AND
            (
                  SELECT Histoprod_EtatFin 
                  FROM histoprod 
                  WHERE histoprod_prod_cle = a.prod_cle 
                      AND Histoprod_chpModif = 'Statut change' 
                  ORDER BY HistoAff_cle DESC 
                  LIMIT 1
            ) IN (6, 5, 1, 2) 
    )
    GROUP BY a.prod_cle
    en gros je veux connaitre le prix des produit dont leur dernier statut est de type 1,2,5 ou 6.

    et pour infos ma table d'historique produit contient 35 000 valeurs et ma table de produit 1 500
    Jérémy
    Ingénieur Conception et Développement

Discussions similaires

  1. temps de réponse localhost\réseau: troublant...
    Par Nickytchao dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 17/01/2005, 08h24
  2. Réponses: 5
    Dernier message: 17/11/2004, 21h29
  3. Ressources, temps de réponse, requète ...
    Par _____M_____ dans le forum Administration
    Réponses: 16
    Dernier message: 31/03/2004, 16h12
  4. Temps de réponse : objet TTable (BDE)
    Par lirva dans le forum Bases de données
    Réponses: 5
    Dernier message: 12/12/2003, 00h50
  5. Temps de réponse entre deux sites
    Par coup dur dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 16/10/2003, 15h26

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