You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Actuellement le filtrage en synthèse se fait en deux étapes :
détermination de l’ensemble des cd_ref via find_all_taxons_children
filtrage IN avec le résultat précédent
L’ajout de la VM taxref_tree offre la possibilité, via une jointure de cette table à la synthèse, de filtrer directement sur un taxon parent sans appel à la fonction find_all_taxons_children.
Lorsque l’on effectue une recherche sur un nœud plutôt bas de l’arbre taxonomique, les performances sont plutôt similaires. L’appel à find_all_taxons_children est relativement négligeable et les conditions IN vs taxref_tree sont relativement similaire.
En revanche lorsque la recherche porte sur un nœud élevé, par exemple « Animalia », taxref_tree améliore quelque peu les performances (~550-600ms vs ~850-900ms sur mes tests).
EXPLAIN ANALYSE SELECT count(*)
FROM gn_synthese.synthese s
WHERE s.cd_nom IN (SELECT DISTINCT cd_ref FROM taxonomie.find_all_taxons_children(ARRAY[183716]));
EXPLAIN ANALYSE SELECT count(*)
FROM gn_synthese.synthese s
JOIN taxonomie.vm_taxref_tree tt on s.cd_nom = tt.cd_nom , taxonomie.vm_taxref_tree parent
WHERE parent.cd_nom = 183716 AND tt.path <@ parent.path;
Le gain de performance ne semble donc pas extraordinaire, mais passer à taxref_tree s’envisage.
The text was updated successfully, but these errors were encountered:
bouttier
changed the title
[SYNTHESE] Utilisation de taxref_tree
[SYNTHESE] Utilisation de taxref_tree pour les filtres taxonomiques
Nov 13, 2024
Actuellement le filtrage en synthèse se fait en deux étapes :
find_all_taxons_children
IN
avec le résultat précédentL’ajout de la VM
taxref_tree
offre la possibilité, via une jointure de cette table à la synthèse, de filtrer directement sur un taxon parent sans appel à la fonctionfind_all_taxons_children
.Lorsque l’on effectue une recherche sur un nœud plutôt bas de l’arbre taxonomique, les performances sont plutôt similaires. L’appel à
find_all_taxons_children
est relativement négligeable et les conditionsIN
vstaxref_tree
sont relativement similaire.En revanche lorsque la recherche porte sur un nœud élevé, par exemple « Animalia »,
taxref_tree
améliore quelque peu les performances (~550-600ms vs ~850-900ms sur mes tests).Le gain de performance ne semble donc pas extraordinaire, mais passer à
taxref_tree
s’envisage.The text was updated successfully, but these errors were encountered: