Ruby Benchmark で Rails クエリをテストしました。
puts 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秒後に結果が得られます:)