Subselect en MySQL attention !

Je suis un utilisateur de MySQL depuis quelques années déjà… et donc j’ai pris l’habitude de feinter certaines fonctionnalités. Par exemple, le Subselect apparu dans la version 4.1. Je profite donc de cet article pour vous dire de faire attention car un subselect c’est peut être plus facile a développer mais on peut faire mieux en terme de performance.

Sur Wanarun (je préfère prendre des exemples que je connais), je veux voir le nombre de personnes qui utilise la gestion des départs.

La version avec subselect :

select pseudo from fr_users where userID in (select userID from mes_departs);

temps : 0.08 sec

la version avec juste une jointure

select distinct(pseudo) from mes_departs m,fr_users u where u.userID=m.userID;

temps : 0.00 sec

Donc faites bien attention ! De plus, la version avec sub select risque d’etre de plus en plus lente si la taille de votre base augmente.



Check out our best movie collection. Latest CD, DVD, HQ DVD movie downloads. Buy and download movies instantly.