我试图从这个Oracle查询中获得更好的性能(这非常慢)。我是一名Oracle初学者,所以也许有人可以指出一个更好的方法来处理这个查询。帮助优化Oracle查询?
我有一张关于不同家庭信息的表格。我想根据关系类型提取不同的关系。我想出了这个解决方案使用哈希联接查询数据库...
select *
from (
with target_person as (
select
p.person_id,
p.family_number,
p.relationship_type_id
from
people p
where
p.relationship_type_id = 1 -- parent
)
select
target_person.person_id,
related_person.related_person_id,
related_person.relationship_type_id
from
target_person,
people related_person
where
target_person.person_id != related_person.person_id
and target_person.family_number = related_person.family_number
and related_person.relationship_type_id = 1
);
对于特定的查询,如果您可以提供指向某个地方的链接以下载几个表创建脚本和一些测试数据,这将会很有帮助 - 这就是我验证我提出的任何解决方案的方式。很高兴你得到了答案。 – 2009-05-26 20:00:49