Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 167 Pomógł: 1 Dołączył: 22.08.2006 Skąd: universe Ostrzeżenie: (0%)
|
Witam,
Otoz mam tabelke sql: id | parent_id | name Kategoria ktora posiada parent_id = 0 to kategoria glowna. Napisalem dwie funkcje:
wywołanie:
Gdy testowalem to na kilkunastu kategoriach wszystko bylo ok ale gdy docelowo uzylem okolo 10 tys. kategorii pojawil sie problem... Testujac to na localhost po chwili wszystko zaczelo sie wieszac. Prosze Was o pomoc. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%)
|
phpion.com: Pobranie wszystkich elementów z tej tablicy (10 tys. rekordów) skutecznie zawali pamięć... W ten sposób wszystko można zrobić na jednym zapytaniu, tylko trzeba się potem namęczyć, żeby zapisać wszystkie warunki w postaci kodu (niekoniecznie efektywnego).
Można zastosować nested sets, ale wstawianie i przenoszenie elementów wymaga aktualizacji sporej części rekordów (mimo tego, że nie są to skomplikowane operacje, zwykle 2 zapytania starczają). Pobranie wszystkich elementów podrzędnych jest bardzo proste i wymaga tylko jednego zapytania... Ale tak jak mówiłem, utrzymanie nested sets na takiej dużej bazie nie musi być przyjemne (nie testowałem osobiście...). Na Twoim miejscu przestudiowałbym dokładniej temat drzewek (sam się nad tym męczę)... |
|
|
|
lectric [php][mysql] Wyświetlanie drzewka kategorii 5.09.2007, 12:12:26
qqrq No nic dziwnego, że się zapchało - 10000 to ździeb... 5.09.2007, 12:21:20
phpion.com Problem leży zapewne w tym, że dla każdej kategori... 5.09.2007, 12:32:50
athabus Możesz też zrobić coś innego... Zdaje się że gdzie... 5.09.2007, 12:38:58
phpion.com Cytat(Ludvik @ 5.09.2007, 14:55:30 ) ... 5.09.2007, 16:49:29
lectric Nie moge używać metody zagnieżdżenia kategorii , m... 5.09.2007, 16:51:39
Ludvik Przy pobieraniu n poziomów możesz pobrać wszystkie... 5.09.2007, 18:08:56
lectric Dzieki.
Tylko, ze przy tej metodzie jest utracony... 5.09.2007, 20:24:02
Ludvik Ale przecież masz pole parent_id w bazie, więc cze... 6.09.2007, 11:26:14
crashu kiedys niepotrzebnie rozwiazlem ten problem
[PHP]... 6.09.2007, 11:48:48 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 18:03 |