![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 0 Dołączył: 28.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie.
Mam zagwozdkę. Mam stronę wykorzystującą https://www.jstree.com oraz Laravel 7 z wykorzystaniem https://packagist.org/packages/kalnoy/nestedset Mam tabelę z kategoriami (164574 rekordów) - która zajmuje około 22,3 MB (po zrzucie z phpmyadmin). Kategorie są praktycznie niezmienne. Mój model i migracja wyglądają następująco:
Założenie: 1. wyświetlić drzewko kategorii 2. zaznaczyć na drzewku wybrane kategorie Do zapisu wybranych kategorii mam:
Mój kod do wyświetlania wygląda następująco:
Skrypt generuje mi plik z cache (~250MB) na serwerze, jednak drzewko wyświetla się baaaardzo wolno (po 3-5min). W momencie gdy wkleję link z html do przeglądarki: domain.com/products/categoryTree to wygenerowanie danych zajmuje mu parę minut. Co może być przyczyną takiego długiego wczytywania? Co można lepiej zoptymalizować? Bardzo proszę o pomoc ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ponad 160tys kategorii i te je wszystkie naraz wyswietlasz uzytkownikowi.... Co mozna zoptymalizowac sie jeszcze pytasz? WYwal to. Nie generuje sie takiej ilosci danych na raz to chyba logiczne
Masz generowac pierwszy poziom kategorii a po kliknieciu w ktorys masz ajaxem leciec po podkategorie dla tego poziomu. Ale tez tylko z jednego poziomu nizej a nie ze wszystkich -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 0 Dołączył: 28.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
Tak, ale w momencie gdy ktoś doda produkt do np. 15 różnych kategorii (mam 7 poziomów "w głąb"), to jak w edycji pokazać takie drzewko?Musi być wczytane całe i rozłożone żeby użytkownik mógł znaleść co dodał.... Chyba że masz jakiś inny pomysł?
![]() Używam tego drzewka: https://www.jstree.com/docs/json/ |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Co to w ogole za kategorie ze moze ich byc 160tys?
- Samochod --- Samochod z jednymi drzwiamu ------ Z jedna klamka ------ Z dwoma klamkami --- Samochod z dwoma drzwiami .... --- Samochod z 10 drzwiami Moze poprostu przedobrzyles ze szczegolowoscia kategorii? Nie mozesz pokazac wszystkich tylu kategorii i tyle w temacie. Albo wiec otwieraj to drzewko tylko dla wybranych kategorii zeby user widzial co wybral - to nadal nie bedzie 160tys albo kategorie wybrane wyswietlaj podspodem i tyle -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Tak, ale w momencie gdy ktoś doda produkt do np. 15 różnych kategorii... pomijając już co napisał @nospor pozwalasz użytkownikowi na coś takiego? Czyli mogę wrzucić kosiarkę do kategorii dajmy na to noże i nożyczki jak i do pojazdy samochodowe i narzędzia piekarskie? Ładny kocioł w tym sklepie. gino |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 340 Pomógł: 0 Dołączył: 28.09.2015 Ostrzeżenie: (0%) ![]() ![]() |
Sklep motoryzacyjny.
Produkt - przykładowo płyn do chłodnic może być w Volksvagen Golf 1, 2, 3, 4, 5, 6, 7, 8 + Seat Leon 1, 2, 3..., Skoda Octavia 1, 2, 3 itp.... Założenie jest takie że 1 produkt może być w wielu miejscach Co to w ogole za kategorie ze moze ich byc 160tys? - Samochod --- Samochod z jednymi drzwiamu ------ Z jedna klamka ------ Z dwoma klamkami --- Samochod z dwoma drzwiami .... --- Samochod z 10 drzwiami Moze poprostu przedobrzyles ze szczegolowoscia kategorii? Nie mozesz pokazac wszystkich tylu kategorii i tyle w temacie. Albo wiec otwieraj to drzewko tylko dla wybranych kategorii zeby user widzial co wybral - to nadal nie bedzie 160tys albo kategorie wybrane wyswietlaj podspodem i tyle technicznie rzecz biorąc, to nie jest tak, że jak mam plik z cache to powinien być błyskawicznie przekazany do przeglądarki przez php? Wydaje mi się że to wszystko "klęka" przez to:
Bez tego odznaczania działa to sporo szybciej |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.07.2025 - 09:24 |