我需要从已经收到的结果对象中查询数据库以获取不同的元素组合。
例如,我得到一个Person
实体列表。对于 Person 实体中的每个人,我需要获取地址列表(每个人)。
有两种方法可以做到:
- 迭代 Person 实体并为每个 Person 实体触发查询以获取该人的地址列表。
- 使用来自 Person 实体的元素动态构建一个查询并触发一个查询以提取所有 Person 的所有地址列表,然后再次迭代 Person 实体并匹配每个 Person 的地址列表。
我不知道很多我可能会得到的 Person 实体。那么就性能和实践而言,更好的方法是什么。
因此,如果我有 100 个 Person 实体,在第一种方法中,它将是 100 个查询,而第二种方法将是如下所示的大量查询
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 中或条件的任何限制/限制?有更好的方法吗?批量查询?