Bonjour, j'ai un petit soucis de requête SQL, j'ai une requête qui met trop longtemps à s’exécuter à cause du grand nombre de données.
Je dispose de 2 tables ("films" et "liens_films") qui contiennent des présentation de films (TABLE films) et les liens de chaque films (TABLE liens_films).
Concrètement j'aimerai récupérer les films ne contenant aucun liens (les films qui n'ont aucune jointure avec la table liens_films en fait).
Voici ma requête SQL pour le moment :
SELECT titre FROM liens_films l
RIGHT JOIN films f
ON l.id_films = f.id
WHERE id_films IS NULL
Pour info, cette requête s’exécute en 20 sec ...
J’espère avoir été assez clair.
Merci pour votre aide !
Essaie avec un left join au lieu de right.
Sinon essaie avec une sous requete dans un IN : SELECT titre FROM films WHERE id NOT IN ( SELECT DISTINCT id_films FROM liens_films )
T'as créé un index... Très franchement, dois y avoir 3000 explications dispo sur internet.
Et je suis en train de rédiger un tuto sur SQL et les prochains chapitres porteront justement sur les index et les clés donc je t'invite à y faire un tour d'ici quelques semaines. Pas le courage de te retaper un explication.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !