Prenons un exemple pour comprendre la différence entre eux.
Une entreprise compte de nombreux employés et il existe un lien entre l’entreprise et les employés.
Préchargement :
Le préchargement charge les données dans deux requêtes.
Comprend également charge les données associées dans deux requêtes dans le cas par défaut.
Nous ne pouvons pas utiliser le préchargement pour ajouter une condition à la table associée. Comme dans notre cas, nous ne pouvons pas ajouter de requête Where pour les employés. Il génère une erreur lors de l'ajout de où et de la commande avec la table associée.
impatient_load :
La charge hâtive charge toutes les données associées en une seule requête. Eagrload utilise une jointure externe gauche pour combiner les données. Nous pouvons également utiliser la requête Where avec une charge rapide pour filtrer les données de la table associée.
Rejoint :
Les jointures chargent les données dans une seule requête. Il utilise la jointure interne pour apporter des données.
Les jointures sont bonnes si nous filtrons les données de la table associée, mais si nous voulons récupérer les données de la table relationnelle, elles chargent une requête distincte pour chaque donnée de colonne.
Comprend une solution pour éviter les requêtes multiples. Il charge les données de la table associée sans plusieurs requêtes.
Comprend en précharge :
Inclut comme impatient_load :
Eager_load charge toutes les colonnes dans une seule requête, mais inclut charge les données selon les besoins. Il fonctionne comme préchargement dans le cas par défaut et fonctionne comme impatient_load en cas de requête supplémentaire dans la table associée.
RailsCarma apporte plus de 10 ans d’expertise en solutions de pointe dans la création Applications Ruby sur Rails et améliorer vos applications Rails déjà existantes. Avec une équipe d'experts possédant une compréhension approfondie du cadre RoR, RailsCarma vous aide à traduire les besoins de votre entreprise en un développement plus rapide et rentable d'applications sur mesure. En insufflant des pratiques agiles dans nos Développement du RoR, nous faisons passer le codage sans erreur au niveau supérieur grâce à notre maintenance et notre support post-déploiement exemplaires. Faites le nous savoir sur les besoins de votre entreprise pour que nous vous aidions à atteindre vos objectifs de développement Rails avec un retour sur investissement positif.