既に受け取った結果オブジェクトから要素の異なる組み合わせをデータベースに照会する必要があります。
たとえば、Person
エンティティのリストを取得します。Person エンティティの各人に対して、(各人に対して) 住所のリストを取得する必要があります。
それには 2 つの方法があります。
- Person エンティティを反復処理し、各 Person エンティティに対してクエリを実行して、その人物の Addresses のリストを取得します。
- Person エンティティの要素を使用してクエリを動的に作成し、1 つのクエリを実行してすべての Person のすべてのアドレス リストを取得し、Person エンティティを再度繰り返して、各 Person のアドレス リストを照合します。
私が得るかもしれない多くの Person エンティティを知りません。では、パフォーマンスと実践の観点から、より良いアプローチは何ですか。
したがって、100 個の Person エンティティがある場合、最初のアプローチでは 100 クエリになり、次のような巨大なクエリを使用する 2 番目のアプローチになります。
from address where (person.id = 1 and person.zip = 393)
or (person.id = 2 and person.zip = 123)
or (person.id = 3 and person.zip = 345)
.... // 10 times.
どちらの方がよいですか?Oracle の Or 条件に関する制限/制限はありますか? より良いアプローチはありますか?バッチクエリ?