Un problème qui se produit lorsque les modèles sont associés les uns aux autres dans une association.
Par exemple, lorsqu'un utilisateur et une publication sont liés dans une application telle que Twitter Lors de l'affichage d'une liste d'articles sur la première page, si vous accédez à la base de données à chaque fois pour rechercher l'utilisateur associé à chaque article, les performances de l'application diminueront.
Si vous avez 10 000 publications, vous devez accéder à la base de données 10 000 fois.
Ce problème est appelé le problème N + 1.
La méthode pour résoudre ce problème
La méthode appelée.
Cette méthode accédait à chaque fois à la base de données et recherchait les données associées. Toutes les données sont acquises en même temps.
Par conséquent, même s'il y a 10 000 publications, vous ne devez accéder à la base de données qu'une seule fois.
Comme le montre l'image ci-dessus, il peut être utilisé en définissant inclut (: modèle lié) dans le contenu de traitement de l'action d'index.
Avec cela, quel que soit le nombre de messages ajoutés lors de la liste des tweets, etc., les performances ne seront pas réduites.
Recommended Posts