Optimiser l’utilisation de la mémoire avec Doctrine

Abonnements, magazines... Notre catalogue complet au bas de cette page.

Dans un projet Symfony, nous avons tous déjà rencontré la fameuse erreur « allowed memory size exhausted » lors de récupérations de données avec Doctrine. Quand cela arrive, nous essayons d’optimiser la requête, puis, à court d’idées, avons la fâcheuse tendance à vouloir augmenter le paramètre « memory_limit » de PHP. Cette erreur survient le plus souvent lors de l’hydratation des données. L’hydratation est le processus qui permet de convertir en objets les résultats provenant d’une base de données à partir d’une requête ; cela peut être très consommateur au niveau de la mémoire. Nous allons donc présenter dans cet article une façon de réduire l’utilisation de la mémoire en modifiant la façon dont Doctrine récupère les résultats.

S'ABONNER
Egalement au sommaire n°: 206