我发现bullet gem是一个非常有用的工具,用于捕获Rails应用程序中缓慢的数据库查询。 Ecto
/Phoenix
是否有类似的工具可帮助您通知N + 1和其他慢速查询?Ecto/Phoenix的Rails中是否有相当于子弹宝石?
0
A
回答
6
N+1
查询不会发生在Ecto
。
外生协会必须明确加载使用preload
如果您尝试访问尚未加载的关联查询,这将是Ecto.Association.NotLoaded
至于其他的查询速度慢的情况下,你可以添加自定义记录器外生:
config :my_app, MyApp.Repo,
adapter: Ecto.Adapters.Postgres,
url: {:system, "DATABASE_URL"},
loggers: [{Ecto.LogEntry, :log, []}, {MyApp.CustomLogger, :log, []}]
自定义记录器:
defmodule MyApp.CustomLogger do
def log(entry) do
if (entry.query_time > 1000_000) do
Logger.info("Slow!!!!: #{entry.query}")
end
end
end
0
我可以推荐你我自己的宝石ecto_profiler
相关问题
- 1. 红宝石相当于func_get_args()
- 2. 红宝石file_get_contents相当于
- 3. 红宝石相当于.irbrc?
- 4. 相当于红宝石
- 5. 红宝石相当于NumPy
- 6. Rails的子弹宝石更慢建议
- 7. Ruby在Python中相当于宝石
- 8. Rails每当宝石
- 9. 是否有Grails插件用于检测N + 1抓取(类似于Rails子弹宝石)?
- 10. 红宝石相当于htmlspecialchars_decode的
- 11. 的Python相当于红宝石SOCKsify
- 12. rvm的红宝石rbenv相当于
- 13. 哪里是最新的红宝石:相当于search.cpan.org/recent的红宝石
- 14. 红宝石宝石相当于PERL可存储
- 15. syncEnumerator相当于红宝石1.9.2
- 16. 红宝石|| =相当于在Objective-C
- 17. curl命令相当于红宝石
- 18. Java流相当于红宝石?
- 19. 红宝石相当于在Unix找到
- 20. 相当于红宝石...?在haskell
- 21. 什么是python的getattr的红宝石相当于
- 22. Rails:设计宝石是否安全?
- 23. 是否有相当于Rails 3中Symfony的本地化架构
- 24. 是否有相当于c#中的typedef?
- 25. 宝石:由于nokogiri宝石在Rails应用程序中的loaderror
- 26. 是否有与rails number_to_human相当的angularjs?
- 27. 红宝石宝石是否或依赖?
- 28. 当地的宝石资料库?安装没有'宝石'的红宝石宝石?
- 29. 是否有任何创建红宝石工资单的宝石?
- 30. lua中是否有相当于Boost.Program_options?
虽然此链接可以回答这个问题,最好是在这里有答案的主要部件,并提供链接以供参考。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/18634357) –
@JessBowers如何包含大而厚的宝石中的基本部分?神经动力学要求子弹的类比!不是代码的一部分!这是质量差和不负责任评论 –
是的,我明白你的意思。但是,如果你认为这是一个糟糕的问题(一个“购物问题”,它不符合SO规则的好问题),那么就不要回答,把问题投下来。或者尝试编辑Q使其更好。我只是想帮助你使用这个网站,不想冒犯 - 而且我只有一个选民。 –