Maîtriser le outer join comme un pro !

Il y a peu, j’ai eu l’occasion de m’occuper de l’optimisation d’une méthode qui chargeait plusieurs petits sets de données dans une table pour finalement renvoyer un seul paquet d’objets. Après avoir observé le code quelques secondes je me dis que tout ça peut être fait directement dans la base de données à condition de lui fournir la requête voulue !
Après un petit moment d’effort, j’ai fini par réussir mon coup à l’aide d’une fonctionnalité SQL qui m’avait toujours fait peur: le outer join !

Pour ceux qui ne sont pas à l’aise avec la syntaxe du code que j’utilise ici, je suis fan de la gem MetaWhere, et je ne sais plus vraiment écrire de ActiveRecord pur :)

Lire la suite