J'essaie d'obtenir de meilleures performances avec cette requête Oracle (qui est terriblement lente). Je suis un débutant Oracle alors peut-être quelqu'un peut vous indiquer une meilleure façon d'aborder cette requête.Aidez-nous à optimiser une requête Oracle?
J'ai une table avec des informations sur différentes familles. Je veux extraire les différentes relations en fonction d'un type de relation. La solution que je suis venu avec utilise une jointure de hachage pour interroger la base de données ...
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
);
Pour une requête spécifique, il serait utile que vous fournissiez un lien vers un endroit où télécharger quelques tables crée des scripts et un peu de données de test - c'est ainsi que je vérifierais toute solution que je proposerais. Je suis content que vous ayez une réponse. –