Nextras\ORM strata výkonu pri výbere kolekcie cez get()
- Čamo
- Člen | 786
Zdravím,
dnes som narazil na trochu čudný problém s výkonom. Mal som v kóde
takýto riadok:
$answers = $survey->surveyAnswers->get()->orderBy(['this->surveyDefQuestion->id' => 'ASC'])->fetchAll();
No a to pri exporte viac ako 1000 položiek úplne zablokovalo renderovanie
exportu …
A prišli sme na to, že ak sa ten riadok napíše takto:
$answers = $survey->surveyAnswers->get()->findBy(['this->survey' => $survey->id])->orderBy(['this->surveyDefQuestion->id' => 'ASC'])->fetchAll();
tak sa problém s rýchlosťou vyrieši. Len nechápem čím to je, lebo tá podmienka na $survey->id by tam nemala byť vôbec potrebná. Napriek tomu je rozdiel rýchlostí rádový. Vie mi niekto zasvätený povedať čím to je?
Díky.
Editoval Čamo (5. 1. 2018 13:50)
- David Matějka
- Moderator | 6445
nevytahnul si to $survey
v ramci nejake vetsi kolekce?
nextras/orm by totiz prednacetlo i dalsi radky v ramci te kolekce. koukni se,
jaky dotaz to poklada