Fermer2
NilLe 31/03/2017 à 12:18
Hum...
Je cherche la façon la plus efficace de reconstruire un arbre depuis une table de données dans laquelle j'ai un identifiant de noeud, et le numéro du parent (s'il existe) - et j'ai évidemment d'autres informations spécifiques à chaque noeud.
J'étais parti par faire ça avec des requêtes SQL récursives (mes données sont dans une base de données), mais la multiplication des requêtes (mon arbre est assez profond et j'ai des quantités de données de l'ordre du million d'enregistrements) rend la chose extrêmement lente.
J'ai vu qu'il existait la structure WITH ... RECURSIVE en SQL, mais je ne suis pas certain que ça me permette de faire ce que je veux.
Du coup, pour l'instant, j'ai décidé de travailler avec des dumps partiels (pour ne pas prendre trop de mémoire d'un coup, même si ça ne semble pas être problématique de charger mon million de lignes d'un coup) et de faire un traitement par script pour reconstruire mon arbre.

Le souci, c'est que j'en arrive à multiplier les parcours de mon tableau pour reconstruire l'arbre, du coup je n'ai pas l'impression d'être parti dans un système optimal. Donc si quelqu'un connaît un algo générique (ou a déjà utilisé WITH... RECURSIVE et me dit que c'est LA solution).