Dans le cours : L'essentiel de Ruby on Rails
Accédez au cours complet aujourd’hui
Inscrivez-vous aujourd’hui pour accéder à plus de 24 900 cours dispensés par des experts.
Comprendre le problème des requêtes N+1 - Tutoriel Ruby on Rails
Dans le cours : L'essentiel de Ruby on Rails
Comprendre le problème des requêtes N+1
Maintenant que vous savez utiliser les associations has_many et has_belongs_to_many, il vous faut connaître le problème sous-jacent des requêtes n+1 Si par exemple, vous vouliez rajouter ici le nombre de réponses de chaque sujet de discussion. vous écririez cela de la manière suivante. topic.topic_answers. On récupère la collection des réponses pour le sujet de discussion, et .length pour récupérer le nombre de réponses. Mai que se passe-t-il au niveau de notre application Ruby on Rails lorsque nous rafraîchissons la page ? Vous voyez ici toutes ces lignes TopicAnswer Load. Chacune de ces lignes correspond à une requête vers notre base de données. Il semble que notre application Ruby on Rails effectue premièrement une requête pour récupérer l'ensemble des sujets de discussion puis une nouvelle requête pour chaque sujet pour récupérer les réponses. Si nous revenons dans notre index, nous comprenons très vite que c'est exactement ce qu'il se passe. Effectivement ici, pour chaque sujet…
Table des matières
-
-
-
-
-
-
-
-
(Verrouillé)
Annoter ses models3 m 20 s
-
(Verrouillé)
Migrer avec la donnée user7 m 48 s
-
(Verrouillé)
Appréhender les associations7 m 35 s
-
(Verrouillé)
Travailler avec l'association has_one/belongs_to5 m 20 s
-
(Verrouillé)
Travailler avec l'association has_many/belongs_to5 m 49 s
-
(Verrouillé)
Découvrir et utiliser les helpers4 m 8 s
-
(Verrouillé)
Travailler avec has_and_belongs_to_many/has_many :through4 m 18 s
-
(Verrouillé)
Comprendre le problème des requêtes N+13 m 25 s
-
(Verrouillé)
Découvrir les validations6 m 18 s
-
(Verrouillé)
Tirer parti de Polymorphic et de Paperclip4 m 46 s
-
(Verrouillé)
Utiliser les concerns3 m 26 s
-
Générer des JSON avec Rails3 m 42 s
-
(Verrouillé)
Défi : Créer une donnée de type vote avec Ruby1 m 39 s
-
(Verrouillé)
Solution : Créer une donnée de type vote avec Ruby6 m 34 s
-
(Verrouillé)
-
-
-