Мне нужно иметь пятиуровневую иерархию для пользователей, зарегистрированных на веб-сайте. Каждый пользователь приглашен другим, и мне нужно знать всех потомков пользователя. А еще предки для пользователя.
Я имею в виду 2 решения.
ancestor_id descendant_id distance
1 1 0
2 2 0
3 3 0
4 4 0
5 5 0
6 6 0
2 3 1
user_id ancestor_level1_id ancestor_level2_id ancestor_level3_id ancestor_level4_id ancestor_level5_id
10 9 7 4 3 2
9 7 4 3 2 1
Это хорошие идеи?
Я знаю о «модели списка смежности» и «модифицированном алгоритме обхода дерева предварительного порядка», но являются ли это хорошими решениями для системы «рефералов»?
Запросы, которые мне нужно выполнить по этому дереву: