Juste mettre à jour mon code pour être prêt Rails 3, mais je rencontre un problème de performance majeur avec le code ci-dessous.Pourquoi ce code est-il plus lent?
ancien code (agréable et rapide)
@products = Product.all(
:order => 'name',
:include => [:category, :brand, :merchant]
).paginate(:page => params[:page])
Nouveau code (10 x plus lent)
@products = Product.order("name")
.includes([:category, :brand, :merchant])
.paginate(:page => params[:page])
J'ai ajouté des sauts de ligne pour faciliter la lecture.
J'utilise Postgres pour ma base de données, c'est peut-être le problème?
Tous les autres conseils pour améliorer ce code seront grandement appréciés!
L'avez-vous essayé en mode production? – Zepplock
Non seulement le développement - ai-je fait des erreurs avec la syntaxe? – Zinc
Le mode de développement n'est pas nécessairement optimisé pour la vitesse. Cela pourrait très bien être des crochets de débogage ou des fonctionnalités de commodité. S'il n'y a pas de raison évidente pour qu'il soit lent, je l'essaierais au moins en dehors du développement. – Chuck