![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 15.09.2016 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Spotkałem się z opinią "nie używamy doctrine, bo jest niewydajny w bazach z dużą ilością danych, gdzie zapytania potrafią trwać 15 minut", "traci się czas na chodzenie po klasach vs czyste zapytania sql". Czy to prawda?
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Nie każda warstwa abstrakcji będzie powodowała spowolnienie, jeżeli np. sama w sobie potrafi coś optymalizować, co normalnie by optymalizowane nie było - np. Second-Level Cache z Doctrine'a.
2. Ilość danych w bazie nie ma dla samego Doctrine'a specjalnego znaczenia. 3. Znaczenie będzie miała natomiast liczba wyciąganych przez dane zapytanie danych. Przetworzenie przykładowo 100 000 rekordów z bazy danych przy pomocy "czystego PHP-a" może być znacząco szybsze niż zrobienie tego z wykorzystaniem Doctrine'a ze względu na powolność PHP-a w tworzeniu obiektów jako takich. 4. Musisz sprawdzać jakie zapytania SQL finalnie generuje Doctrine. A że pracując z ORM-em często łatwo się zapomnieć w tym aspekcie stąd opinia n/t "powolnych ORM-ów". |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 14:00 |