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 :
Voici la requête que j'ai :
Avez-vous une idée pour rendre la requête des hommes/peuples plus rapide ?
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 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)
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
Partager