1

我已经用 Ruby Benchmark 测试了 Rails 查询:

放 Benchmark.measure {
  @product_providers = SiteController.fetch_providers(@product_types.keys)
}

这基本上是用于连接product_provider表的查询product_type,但查询的逻辑超出了问题的范围。

protected

def self.fetch_providers product_types
    fetched_providers = {}
    if product_types && product_types.kind_of?(Array)
        product_types.each do |product_type|
            fetched_providers.merge!( { product_type.underscore => product_type.constantize.joins(:provider) } )
        end
    end
    fetched_providers
end

我的问题是:

为什么要在 Ruby Bencmark 中测试查询,我得到的结果是:

0.000000   0.000000   0.000000 (  0.000796)

但是,当我在内部运行查询时,rails console我会在 4-6 秒后得到结果:)

4

1 回答 1

1

您可以使用迷你分析器来测试性能http://miniprofiler.com/ 和有关此主题的 railscasts http://railscasts.com/episodes/368-miniprofiler

于 2013-08-29T07:58:50.943 回答