![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 496 Pomógł: 1 Dołączył: 16.01.2008 Skąd: Świnoujście Ostrzeżenie: (0%) ![]() ![]() |
Witam
W jaki sposób rozwiązać problem rozbudowanego drzewa kategorii w skrypcie tak aby zapytania do DB nie trwały zbyt długo i same zapytania były krótkie? Np. serwis allegro ma bardzo rozbudowane drzewo kategorii a mimo tego całość działa płynnie. Obecnie mam to rozwiązanie dość abstrakcyjnie przez co przy rozbudowanym drzewie kategorii zapytanie trwa bardzo długo. Obecna struktura tabeli: id | nazwa | lewa_id | poziom | pozycja | lista lewa_id - id kategorii nadrzędnej; poziom - poziom zagłębienia kategorii; pozycja - pozycja do sortowania przy wyświetlaniu; lista - lista wszystkich podległych kategorii (np. 23,31,75); Z góry dzięki za propozycje rozwiązań Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Category
- id - title - parent_id - level - root i teraz masz tak: - telefony (1, telefony, null, 1, 1) -- lg (2, lg, 1, 2, 1) --- coś_tam (5, coś_tam, 2, 3, 1) -- samsung (3, samsung, 1, 2, 1) -- sony (4, sony, 1, 2, 1) - inna (6, inna, null, 1, 2) itp. Powinieneś załapać z czasem, Jest jeszcze left | right, ale to już "wyższa szkoła jazdy" Za kwestie zapytań odpowiada optymalizacja kodu, bazy, indexy a w przypadku np. allegro ilość serwerów (IMG:style_emoticons/default/wink.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.10.2025 - 08:16 |