NotORMと呼ばれるこのPHPDBライブラリを見ていて、そのドキュメントを読んだときに、結合のスタンドについて読んだことがあります。議論は基本的に、結合を使用した単一のSQLクエリのパフォーマンスと、複数の選択クエリを使用してDB抽象化レイヤーで結果を相互参照するパフォーマンスでした。
私は常に、複数のクエリを使用するよりも単一のクエリの方が優れている必要があることを知っていたので、NotORMのアイデアは私にとって新しいものでした。この「機能」を見たのはNotORMだけなので、これもわかりません。
これについてのご意見をお伺いしたいと思います。
どのクエリがより良く、より速いですか?
これ...
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
対...
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');
この2番目の方法は本当に実用的ですか?