自己結合を持つクエリが必要なビューを作成したいと考えています。かなりの量のデータを取得するため、パフォーマンスと動作が心配です。テーブルとクエリの詳細は次のとおりです (元のテーブルにはより多くの列があり、複数の列からの結果が必要になります。これは例を示すためのものです):-
Person テーブル
PK NAME SPOUSE_REF_ID IS_MARRIED
1 John Null Y
2 Alice 1 Y
3 Varvatos Null Y
4 Barbara 5 Y
5 Stanely Null Y
6 Ross Null N
7 Henry Null N
結婚していて、spouse_ref_id を持っている人のデータを照会する必要があります。したがって、私が作成したクエリは次のとおりです。
select a.NAME spouse_name, a.SERVICE_NO, a.id,a.employment_category_id, pf.name name, pf.service_no,pf.id,
pf.employment_category_id
from person a
inner join person pf on
a.id = pf.spouse_ref_id
where a.IS_MARRIED ='Y'
その最適化について教えてください。また、クエリを再構築するとより良い結果が得られると思われる場合や、クエリなどで自己結合を使用することはお勧めできない場合など
は、最適化されたビューで返信していただければ幸いです。