wtorek, 25 marca 2014

Optymalizacja użycia Doctrine2

Opierając się na artykule:
http://labs.octivi.com/mastering-symfony2-performance-doctrine/

wyczytałem takie porady:

W skrócie:

  • stosuj getArray dla list;
  • używaj getReference w setterach;
  • JOINuj używając QueryBuildera;
  • używaj featch = "EXTRA_LAZY";

To nie prawdy objawione ale ciekawe wskazówki .....


  • dla tych prostszych zapytań o listę rekordów stosuj pobieranie do Array() - pomiń Hydration wyników z bazy (czyli mapowanie na obiekty)
    ...... przykładowy kod niżęj ......
  • gdy w jakimś obiekcie chcemy ustawić pole, które jest powiązane w bazie do innej tabeli to nie musimy zawsze posiadać obiektu dla setter'a - wystarczy mieć ID z np. Request i zastosować Referencję do tego obiektu
    ...... przykładowy kod niżęj ......
  • do wielokrotnych Update'ów albo do danych jakie uzyskujemy poprzez JOIN warto zastosować jednak DQL/Query Builder
    ...... przykładowy kod niżęj ......
  • jeśli mamy w bazie połączenie OneToMany to należałoby rozpatrzyć użycie ustawienia fetch="EXTRA_LAZY" dla optymalizacji
Podam parę przykładów realnego użycia ....

Brak komentarzy:

Prześlij komentarz