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 :

requete trop lente


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 39
    Points : 22
    Points
    22
    Par défaut requete trop lente
    Bonjour à tous,

    je cherche à optimiser une requête qui prends plus de 87 secondes pour s'exécuter.
    merci par avance pour vos idées et suggestion:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    SELECT ID, Titre, Prix, Contact, Description,
     
    (SELECT valeur from details where DT.ID = details.ID_Annonce and rubrique='Kilométrage') as Kilometrage,
    (SELECT valeur from details where DT.ID = details.ID_Annonce and rubrique='Carburant') as Carburant,
    (SELECT valeur from details where DT.ID = details.ID_Annonce and rubrique='Boîte de vitesse') as Boite_Vitesse,
    (SELECT valeur from details where DT.ID = details.ID_Annonce and rubrique='Année-modèle') as Annee_modele,
    Region, Ville, CodePostal
     
    FROM annonces as DT 
     
    WHERE
    DT.Categorie like '%voiture%'
    AND (DT.`Export` = '0') AND (DT.`Contact` <> '') AND (char_length(DT.`Contact`) = 10)

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    En faisant une jointure qu'est ce que ça donne ? (J'ai transcrit avec une jointure externe mais une jointure interne peut être suffisante en fonction du modèle)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT dt.ID, dt.Titre, dt.Prix, dt.Contact, dt.Description,
           case when d.rubrique='Kilométrage'      then d.valeur end as Kilometrage,
           case when d.rubrique='Carburant'        then d.valeur end as Carburant,
           case when d.rubrique='Boîte de vitesse' then d.valeur end as Boite_Vitesse,
           case when d.rubrique='Année-modèle'     then d.valeur end as Annee_modele,
           dt.Region, dt.Ville, dt.CodePostal 
      FROM annonces AS DT 
      left join details d on d.ID_Annonce = DT.ID
     WHERE DT.Categorie LIKE '%voiture%'
       AND DT.Export = '0' 
       AND DT.Contact <> '' 
       AND char_length(DT.Contact) = 10
    Après il faut regarder les index, évidemment sur les clés étrangères, mais aussi peut être sur les colonnes de annonces comme export et/ou contact si les critères utilisés sont particulièrement sélectifs.

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 39
    Points : 22
    Points
    22
    Par défaut
    Bonjour skuatamad,

    Merci beaucoup pour ta réponse.
    effectivement c'était un problème d'index.
    dès que je les ai mis ça m'affiche les résultats en un clin d'oeuil.
    Merci

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

Discussions similaires

  1. Requete trop lente
    Par theOnlyOne dans le forum Requêtes
    Réponses: 25
    Dernier message: 25/11/2010, 17h23
  2. [MySQL] requete trop lente
    Par mademoizel dans le forum PHP & Base de données
    Réponses: 23
    Dernier message: 10/08/2010, 23h03
  3. Problème de requete trop lente , je cherche une alternative
    Par mobscene dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 02/05/2007, 10h39
  4. pb requete trop lente.(tables sans relation)
    Par zeloutre dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 27/04/2007, 08h48
  5. requete trop lente
    Par ob1knob dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 16/03/2007, 18h21

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