Temat: doctrine vs propel
Adam W.:
a to nie jest tak jak z każdym ORM? ORM zamienia rekord z bazy na obiekt. 1000 obiektów to się nie dziwię, że mogło coś nawalić. a jeżeli masz 10, 20 (stronicowanie) rekordów wyświetlanych na stronie to nie ma z tym problemu.
w przypadku, który opisałeś trzeba ominąć obiekty i zwracać tablicę. tak pisali w symfony.
To się w 100% zgadza. Bez względu na ORM hydrowanie obiektów przy dużych ilościach rekordów będzie wymagające zarówno czasowo jak i pamięciowo.
Tylko używanie tablic troszke mija się z całym założeniem ORM'a.
Np. na filmdnia.pl wszystko to obiekty i też per strona jest ich całkiem sporo: kategokie, kanały telewizyjne, połączenie kanał-data emisji, aktorzy, reżyserzy. To wszystko raz kilkadziesiąt filmów per strona.
I wszystko ładnie na obiektach śmiga w propelu i zjada maks 5MB i wykonanie strony na poziomie 50-100ms więc tragedii nie ma.
A teraz, gdybym chciał to przerobić na doctrine, to musze się liczyć ze znaczym wzrostem zużycia pamięci jak bardzo dużym wzrostem czasu wykonania (patrząc na ten japoński test test).
Tak jak pisał Wojtek: albo wydajność, albo prostota kodowania :)