我試圖從這個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