Merci pour la rapidité des réponses
Par contre les deux solutions étant correctes, laquelle des deux est la moins gourmande en ressource (si la base d'utilisateurs est très importante)?
Si je comprends bien le code de Jean.Cri1 récupère une liste d'utilisateurs ayant la globalité des caractéristiques demandé (même si l'utilisateur a que les yeux bleu). Puis tri les données avec des sum (case when...)
- le faite de faire autant de "calcul" (sum + case when) n'est pas trop demandeur en ressources?
- le faite de récupérer la totalité des utilisateurs qui ont au moins une valeur ne va pas me ramener de trop?
Et si je comprends bien pour le code de punkoff, je fait un premier tri sur les valeurs 'obligatoires' c'est à dire qu'il y a une seule valeur possible par catégorie (ei : seulement brun pour la couleur des cheveux)
Puis après ce premier tri, je récupère dans cette liste les utilisateurs qui correspondent à au moins un critère par catégorie (ei : bleu ou marron ou vert pour la couleur des yx)
- Cette solution me semble plus optimisée mais je n'en mettrais pas ma main à couper
Pour finir, une solution possible est de faire un mix entre les deux solutions :
- Premier tri sur les valeurs 'obligatoires'
- Puis tri grâce au sum(case when) au lieu du exist
Non?
Partager