Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Architektura rozbudowanego drzewa kategorii a szybkość odpowiedzi z DB
JamalBIG
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Forti
post
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)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.10.2025 - 08:16