1 pièce(s) jointe(s)
Optimisation d'une requête avec multi-JOIN
Bonjour,
J'ai une requête multi-join sur ma base MYSQL perso mais le temps d'exécution est extrêmement long.
Contexte : mon site internet perso de partage de la connaissance http://aleph2at.free.fr
But : Lister les hommes/peuples avec leur article principal
En MySQL, je veux obtenir : Hommes.Id, Hommes.Nom, Hommes_Types.Nom, Articles.Id trié sur Hommes.Nom sans tenir compte des accents et des majuscules
Voici le schéma des tables et des contraintes :
Pièce jointe 224578
Voici la requête que j'ai :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| SELECT
hommes.*,
hommes_types.Nom as HommesTypes_Nom,
articles_elements.Articles_Id
FROM
hommes
LEFT JOIN hommes_types ON (hommes_types.Id = hommes.Type_Id)
LEFT JOIN articles_elements ON (
articles_elements.Elements_Id = hommes.Id
AND articles_elements.Tables_Id = 4
AND articles_elements.Sens = 'ArtDsEl'
)
LEFT JOIN articles ON (
articles.Id = articles_elements.Articles_Id
AND articles.Types_Id = 2
)
WHERE
(hommes.Autre = 0) |
Avez-vous une idée pour rendre la requête des hommes/peuples plus rapide ?
NB1 : la table Hommes ne contient que 918 éléments et la table articles_elements 14932
NB2 : je fais le tri alphabétique a posteriori