27-04-2010, 06:40 PM
(27-04-2010, 03:09 PM)Roworll a écrit : Petite(s) remarque(s)
Ce code est en SQL Server apparemment.
Si on transpose dans un environnement MySQL, la syntaxe sera différente et il est même possible que les curseurs ne soient pas supportés en fonction de la version de MySQL.
Ensuite, puisque c'est du code SQL Server, je me permets de rappeler que l'utilisation de curseurs doit être évitée dans la mesure du possible (Best Practice from MS). C'est bien trop gourmand en ressources. (petit lien)
Dans l'exemple donné, je pense qu'il aurait été possible de s'en sortir avec l'instruction PIVOT (SQL 2005 & 2008), évitant ainsi ce double curseur.
Pour en revenir au sujet original, je rejoindrais cyberbobjr. A vue de nez, je pense que la requête unique sera plus performante mais ça reste à confirmer par un benchmark.
La quantité d'information dupliquée sur la table "maître" par la requête jointe peut faire la différence.
oui le code est bien du sql server mais je l'ai mis à titre d'exemple de ce qu'est un curseur. Après pour le reste si c'est une mauvaise utilisation je n'en ai aucune idée donc si tu le dis c'est surement vrais