Bonjour!
Quand j'étais petit (j'étais un abruti!), j'ai créé des tables, puis des requêtes. J'y suis allé en bourrin, et je n'ai jamais utilisé les jointures.
Maintenant que je suis grand (je suis le roi des glands!), j'essaye de m'éduquer un peu et ne plus me conduire en sauvage. J'ai donc lu quelques articles, des petits tuto (avant de m'attaquer au vraiment très gros de SQLPro), mais je dois bien avouer que je reste hermétique
J'ai donc effectué un test.
J'ai deux tables : une table film, où j'ai, entre autres, les champs id_film et titre_vf. J'ai une table sortie, où j'ai comme champs, id_film, annee (pour différencier les films originaux des remake... enfin bref)
Je veux donc, dans ce cas-là, trouver l'année de sortie du film au cinéma.
Quand j'étais petit, je faisais ça:Avec MySQL 4.0.15, cette requête met 0.0012 seconde en moyenne pour s'exécuter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT O.id_oeuvre, titre_vf, annee FROM tbl_oeuvre O, tbl_doc D WHERE O.id_oeuvre = D.id_oeuvre LIMIT 0 , 30
Maintenant que je suis grand, je crois qu'il faut que je fasse ça :Toujours avec MySQL 4.0.15, cette requête met 0.0235 seconde en moyenne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT O.id_oeuvre, titre_vf, annee FROM tbl_oeuvre O LEFT JOIN tbl_doc D ON O.id_oeuvre = D.id_oeuvre LIMIT 0 , 30
Euh...
Bien sûr, c'est un exemple tout bête. Etant donné que je n'y connais pas grand chose, je n'ai pas tenté les grosses requêtes à 5 tables pour pas trop me perdre. Donc je ne sais pas si les jointures sont plus rapides à ce moment là ou pas.
Mais bon, ma question est donc : à quel moment utiliser les jointures? Etant donné que là, ca met "beaucoup" plus de temps pour récupérer les données pour un petit exemple, en sera-t-il de même pour les gros exemple??
Parce que là, je dois avouer que ça m'encourage pas vraiment à me torturer le cerveau
Merci pour vos réponses.
Ciao.
Partager