LitusProject/Litus — pull request #64 by vierbergenlars (2013-09-26 17:56:47+00:00)
Title: Performance fix for paginating queries

Op dit moment worden queries gepagineerd door de hele boel als een array te fetchen.
Dat is gewoon verkwisting van resources.

Hier is een nieuwe functie `createFromQuery()` op de paginator die van een doctrine `Query` of `QueryBuilder` een paginator maakt met `OFFSET` & `LIMIT`
EntityRepository methods moeten dan ook zoiets returnen in plaats van een array met results.
Op mijn VM daalt de query tijd van ~10 sec tot ~540 ms op een dataset van 4444 entries. (users.people_academic data).

Heeft wel nog testing nodig voor de gevulde $conditions en $orderBy.

TODO:
- [ ] Performance test op staging
- [ ] Testen met $conditions
- [ ] Testen met $orderBy
- [ ] EntityRepositories met grote datasets aanpassen om een `Query` object te returnen voor de paginator