Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SF][SF2]Doctrine duzy czas odpowiedzi
Matrix12
post
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 22.03.2015

Ostrzeżenie: (0%)
-----


Witam,

Mam taki problem otóż chce wyświetlic 3000 recordow na stroni, czas doctrine to 60 ms. W zapytaniu sa dwa joiny i select wszystko ale chcę ten wynik jeszcze skrocic. Czy znacie jakies sposoby na przyspieszenie? Jak to z optymalizować?
Go to the top of the page
+Quote Post
Damonsson
post
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


i co Ci da skrócenie o 90% nawet? Wyświetlanie tylu rekordów na stronie to samobójstwo.
Go to the top of the page
+Quote Post
Matrix12
post
Post #3





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 22.03.2015

Ostrzeżenie: (0%)
-----


Okej ale Klient wymaga i po prostu to cchce. Wiesz jak to z optymalizować?
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


1. Jakie dokładnie zapytanie generuje Doctrine? Co zwraca EXPLAIN tego zapytania?
2. Możesz pomyśleć nad ograniczeniem ilości zwracanych danych (kolumn/właściwości) - ale to takie "średnie" rozwiązanie.
3. Mocniejsza maszyna?
4. Masz jakieś możliwości cache'owania wyników tego zapytania?
Go to the top of the page
+Quote Post
Forti
post
Post #5





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

Ostrzeżenie: (0%)
-----


->useResultCache($time)

potem w config.yml musisz ustawić np. na redis, memchaced itp. - zależnie do czego masz dostęp. (http://inchoo.net/dev-talk/caching-doctrine2-orm-results/)
Zwracaj wyniki jako array
nie używaj createQueryBuilder tylko:

  1. return $this->getEntityManager()
  2. ->createQuery('SELECT e FROM AppBundle:Example e ');


Najwięcej zyskasz z cached (100% optymalizacja zapytania), ale nadal wyświetlanie 3000 rekordów to rzeźnia. Nawet z paginacją. Może pomyśl właśnie o pobieraniu jedynie kilkudziesiędziu per strone i na kolejną strone - kolejne zapytanie. Przyśpieszysz to kilkukrotnie.


--------------------
Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.

Fachowo.co

Behance.net/fachowo
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 07:48