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: 496 Pomógł: 1 Dołączył: 16.01.2008 Skąd: Świnoujście Ostrzeżenie: (0%)
|
Samo wyświtlanie drzewa działa ok, bo wyświetlane są tylko dwa 'poziomy' czyli kategorie i podkategorie ale w jaki sposób 'sklecić' zapytanie do DB aby wyświetlić wszystkie treści które zostały przyporządkowane do kategorii najniższego rzędu - np. w kategorii 'Telefony' mam 200 podkategorii do których jest możliwe dodanie 'treści' - czy zapytanie musi wyglądać tak:
W takim przypadku zapytanie jest tak długie, że 'serwer się gotuje' |
|
|
|
JamalBIG [MySQL][PHP]Architektura rozbudowanego drzewa kategorii a szybkość odpowiedzi z DB 23.03.2015, 15:08:18
b4rt3kk Cytat(JamalBIG @ 23.03.2015, 15:08:18... 23.03.2015, 15:12:26
Forti Category
- id
- title
- parent_id
- level
- root
... 23.03.2015, 15:12:49
Pyton_000 nested set 23.03.2015, 15:13:10
b4rt3kk Aha, polecałbym jeszcze cache. Drzewo kategorii to... 23.03.2015, 15:15:16 
b4rt3kk Cytat(JamalBIG @ 23.03.2015, 15:42:55... 23.03.2015, 16:54:10
Forti Masz źle zbudowane baze. Nie masz mieć mole ... 23.03.2015, 15:56:47 
JamalBIG Cytat(Forti @ 23.03.2015, 15:56:47 ) ... 23.03.2015, 17:05:46
Pyton_000 Czy ktoś mnie w ogóle słucha? Do dużych drzew w kt... 23.03.2015, 17:48:54
Forti Co rozumiesz przez duże drzewo? Używałem doctrine ... 23.03.2015, 18:12:15 
JamalBIG Cytat(Forti @ 23.03.2015, 18:12:15 ) ... 23.03.2015, 20:40:11
Forti Robisz to zle. Zamiast pobierać IN() itp. To może ... 23.03.2015, 21:01:27
JamalBIG Cytat(Forti @ 23.03.2015, 21:01:27 ) ... 23.03.2015, 21:06:43
b4rt3kk Cytat(JamalBIG @ 23.03.2015, 21:06:43... 23.03.2015, 21:26:26 ![]() ![]() |
|
Aktualny czas: 15.10.2025 - 00:01 |