Je sais que dans les rails 2.3.2 requêtes ActiveRecord sont mises en cache, à savoir que vous pouvez voir quelque chose dans le journal de développement/production:Modèles ActiveRecord mis en cache dans des tâches rake?
CACHE (0.0ms) SELECT * FROM `users` WHERE `users`.`id` = 1
Je me demandais si les mêmes principes pour ratisser les tâches.
J'ai une tâche rake qui va interroger beaucoup de modèles différents, et je veux savoir si je devrais implémenter ma propre mise en cache, ou si ce comportement est inclus par défaut.
De même, existe-t-il un moyen de voir les requêtes sql qui sont effectuées au cours de la tâche rake? Semblable à celle du journal de développement/production
Je pense que cela pourrait être vrai dans les contrôleurs. Il y a du texte ici: "il est important de noter que les caches de requêtes sont créés au début d'une action et détruits à la fin de cette action et ne persistent donc que pendant la durée de l'action." Vous devriez regarder votre journal d'environnement (c'est-à-dire log/test.log, si vous prenez la réponse ci-dessus) et vous verrez les requêtes SQL répétées. – chug2k