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 :

performance d'une requête avec jointure


Sujet :

Requêtes MySQL

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27
    Par défaut performance d'une requête avec jointure
    Bonjour à tous,

    J'ai la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT  SQL_NO_CACHE sc.idspectacle
     FROM  schedules sc
    JOIN contacts c ON c.idcontact=sc.idcontact
    JOIN (spectacles s 
    	JOIN typesspectacles ty ON ty.idtypespectacle=s.idtypespectacle
    	JOIN (text_spectacle ts
    		JOIN texts t ON t.idtext=ts.idtext)
    	ON ts.idspectacle=s.idspectacle
    	JOIN spectacle_person sp ON sp.idspectacle=s.idspectacle
    	JOIN spectacle_contact sct ON sct.idspectacle=s.idspectacle)
    ON s.idspectacle=sc.idspectacle WHERE 1
    ORDER BY sc.date DESC LIMIT 0,7;
    qui mets plusieurs secondes à s'executer (minimun 4 sec.)

    Si je supprime la jointure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JOIN spectacle_person sp ON sp.idspectacle=s.idspectacle
    La requête ne met que quelques millisecondes

    Ma table spectacle_person contient 3 champs :

    idspectacle => integer 11 => index/FK
    idperson => integer 11 => index/FK
    idrole => smallint 5 => index/FK

    la clé primaire est sur ces 3 champs.

    Il y a 30000 enregistrements dans cette table. Mais la table schedules en a 100000

    Avez-vous une idée de pourquoi la jointure ralenti autant la requête ?

    En pièce jointe, l'explain de la requête.

    Merci d'avance
    Images attachées Images attachées  

Discussions similaires

  1. Améliorer les performances d'une requête avec agrégats
    Par alexis_ dans le forum Requêtes
    Réponses: 4
    Dernier message: 05/11/2009, 22h31
  2. Réponses: 11
    Dernier message: 15/09/2008, 10h25
  3. Lenteur sur une requête avec jointure
    Par mister3957 dans le forum SQL
    Réponses: 16
    Dernier message: 13/08/2008, 13h10
  4. [ABAP] Comment créer une requête avec jointure
    Par roadster62 dans le forum SAP
    Réponses: 1
    Dernier message: 21/02/2006, 16h04
  5. optimisation d'une requête avec jointure
    Par champijulie dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 07/07/2005, 09h45

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