![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 179 Pomógł: 0 Dołączył: 8.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Piszę ten temat bo ogarnęła mnie już całkowita niemoc. Próbuję zaimplementować jakiś sensowny algorytm drzewek do mojego CMFa. Nie chcę korzystać z Nested Sets (left, right), bo to kompletnie nie nadaje się do większych drzew. Znalazłem coś takiego: http://fungus.teststation.com/%7Ejon/treeh...reeHandling.htm Metoda bardzo fajna, ale utknąłem na jednej bardzo istotnej rzeczy - wyświetlaniu drzewa. Teoretycznie, zgodnie z tym co piszą w artykule, by pobrać drzewo (lub daną część drzewa) wystarczy użyć zapytania: Select Id from Path where AncestorId = 2 Przypuśćmy, że drzewo wygląda tak: Kod rośliny (1) / \ / \ / \ / \ owoce(2) warzywa(3) / / banan(4) (gdzie cyfry w nawiasach to numery ID elementów -- 'banan' został dodany później niż 'warzywa'). W tym wypadku, używając powyższego zapytania dostanę: Kod Rośliny Owoce Warzywa Banan Czy jest jakiś sensowny sposób, by pobrać odpowiednio posortowane drzewo korzystając z powyższego przykładu? A może znacie jakieś inne efektywne sposoby przechowywania drzew w bazie danych? Zależy mi przede wszystkim na efektywności i elastyczności. Nested Sets odpadają (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 179 Pomógł: 0 Dołączył: 8.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cytat co zas odpadaja? winksmiley.jpg poprostu trzeba dodac n-level i wyswietla sie bardzo latwo... Wydawało mi się, że wyraźnie powiedziałem, że nie chcę Nested Sets. Korzystałem z tego do tej pory (tak z n-level (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ), ale widzę, że dla dużych drzew ta metoda jest nie do przyjęcia. Wyobraź sobie ile zajmie np dodawanie nowego posta na forum, gdzie jest 90 000 wątków. Poza tym, jeśli coś pójdzie nie tak przy dodawaniu, to całe drzewo jest rozwalone. Nie chcę Nested Sets. Kropka. Użyję ich w ostatecznej ostateczności. Cytat jak kiedys rozmawailem z Its_me to mowil nawet on ze to najlepsze drzewka. Coś więcej? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 17:11 |