Wdrażam drzewo MLM dla witryny za pomocą PHP (CodeIgniter) i MySQL. Potrzebuję implementacji drzewa binarnego w bazie danych. Poniżej lista rzeczy, które należy uwzględnić:Drzewo binarne za pomocą PHP + MySQL
Dla każdego węzła, minimum liczby dzieci/węzłów w lewym poddrzewie oraz liczby dzieci/węzły w prawym poddrzewie nazywa się para. Dla każdej pary jeden węzeł otrzymuje 1 punkt - który powinien być przechowywany w bazie danych (węzły reprezentują użytkowników).
Gdy nowy węzeł jest tworzony (gdziekolwiek), możliwe jest, że liczba wielu węzłów jest zwiększana. Tak więc zawsze, gdy tworzony jest węzeł, punkt węzła powinien być aktualizowany (zwiększany o jeden, jeśli ma zastosowanie).
Muszę również skonstruować (wyświetlić na stronie) drzewo. Wyświetlane będą tylko 4-5 poziomów.
Baza danych może mieć 100000 węzłów
znalazłem głównie 4 modele dla implemmenting dane hieararchical w MySQL, PHP
- lista sąsiedztwa
- Ścieżka wyliczenie
- Zestawy zagnieżdżone
- Stół zamykający
Chciałbym więc znaleźć rozwiązanie, które zmniejszy obciążenie narzutu i pomyślnie zaktualizuje punkty dla wszystkich odpowiednich węzłów.
Próbowałem rozwiązania listy przyległości.
node (id, parentid, leftChildId,rightChildId,leftCount,rightCount)
userStat(id,sdate,pairs,mlmIncome)
każdorazowo jeden węzeł jest włożona, idę w górę i zachować inkrementacji dziecko liczy .Jeżeli nowa para jest potem zwiększamy że również i zwiększamy temperaturę .. robie to z procedur przechowywanych.
Powodem, dla którego wybrałem to rozwiązanie w zestawie zagnieżdżonym jest: dla każdego wstawionego węzła, liczba węzłów, które mają być aktualizowane dla zestawu zagnieżdżonego, jest zawsze większa niż lista sąsiednich.
Chociaż tempo budowy drzewa to więcej niż wstawianie. A zestaw zagnieżdżony jest lepszy w konstruowaniu drzew ..
Czy jestem we właściwym kierunku? Proszę pomóż !
Thnx z góry!
nie może zrozumieć, dlaczego ten został downvoted, wydaje się całkiem rozsądne pytanie! +1 – dmp
thnx danp, czy możesz mi pomóc z rozwiązaniem? –
Jestem w trakcie implementacji hierarchii tabeli zamknięcia w kodzie kodów, czy warto zobaczyć ten kod? – dmp