gpt4 book ai didi

ruby-on-rails - rails : Benchmarking rails ActiveRecord Queries

转载 作者:行者123 更新时间:2023-12-04 00:01:44 35 4
gpt4 key购买 nike

我希望对我的应用程序中的几个 ActiveRecord 请求进行基准测试。在控制台中进行基准测试的最简单方法是什么

User.find_by_name("Joe").id

相对
User.find(:first, :select => :id, :conditions => ["name = ?","Joe"]).id

谢谢

最佳答案

这个问题有点老了,需要更新的答案。在生产场景之外对查询进行基准测试的最简单方法是在 rails console 中运行它。 (基准测试脚本不再在 Rails 中。)然后您可以简单地使用 Benchmark 进行测试。 Ruby 内置的类。在 Rails 中运行以下命令:

puts Benchmark.measure { User.find_by_name("Joe").id }
puts Benchmark.measure { User.find(:first, :select => :id, :conditions => ["name = ?","Joe"]).id }

我会运行上面的 5 次,丢弃最小值和最大值,然后计算剩余 3 次运行的平均成本来确定哪个查询会给你更好的性能。

这是自 Rails doesn't show you the cost to actually construct your objects 以来获取查询真实成本的最准确解决方案.所以虽然 @Slobodan Kovacevic答案是正确的,因为日志显示了查询是如何记录日志的, long 不会给你对象构建时间,这对于你的第二个查询来说可能会更少,因为你只填充了一个字段而不是所有用户字段。

关于ruby-on-rails - rails : Benchmarking rails ActiveRecord Queries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3419220/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com