J'ai regardé cette bibliothèque de base de données PHP appelée NotORM et en lisant sa documentation, j'ai lu leur position sur les jointures. L'argument était essentiellement la performance d'une seule requête SQL avec des jointures par rapport à l'utilisation de multiples requêtes SELECT et ensuite la mise en correspondance des résultats dans la couche d'abstraction de la base de données.
J'ai toujours su que les requêtes uniques seraient toujours meilleures que l'utilisation de multiples requêtes, donc l'idée de NotORM était nouvelle pour moi. Je ne suis pas sûr non plus car c'est uniquement dans NotORM que j'ai vu cette "fonctionnalité".
J'aimerais vous demander votre opinion à ce sujet.
Quelle requête est meilleure et plus rapide?
Ceci...
SELECT application.*, tag.*
FROM application
LEFT JOIN application_tag ON application.id = application_tag.application_id
LEFT JOIN tag ON application_tag.tag_id = tag.id
ORDER BY application.id
par rapport à...
SELECT * FROM application LIMIT 4;
SELECT * FROM application_tag WHERE application_id IN ('1', '2', '3', '4');
SELECT * FROM tag WHERE id IN ('21', '22', '23', '24');
Est-ce que cette deuxième méthode est vraiment pratique?