Je souhaite créer une vue pour laquelle j'aurai besoin d'une requête dans laquelle je me joindrai. Je suis inquiet au sujet de ses performances et de son comportement, car il va chercher une bonne quantité de données. Les détails de la table et la requête sont comme suit (tableau d'origine a plus de colonnes et j'exigerons des résultats de plusieurs colonnes, ce qui est juste pour vous présenter un exemple): -
Personne Tableau
Affichage de l'auto-jointure sur la table
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
Je dois interroger les données de ceux qui sont mariés et qui ont leur conjoint_ref_id avec eux. Ainsi, la requête i est faite: -
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'
S'il vous plaît me conseiller au sujet de son optimisation et si vous pensez que la requête de restructuration va chercher de meilleurs résultats ou auto jointure est souhaitable dans les requêtes etc etc ..
Je vous serais reconnaissant un répondre ayant une vue optimisée.
Avez-vous des questions ou un problème? – JodyT
Puisqu'un auto-joint est la seule façon de faire cela, il n'y a pas grand-chose d'autre à faire. Parfois, vous pouvez remplacer une auto-jointure par une fonction analytique mais pas dans ce cas. –