LoginSignup
3
3

More than 5 years have passed since last update.

簡単実装!RailsのActiveRecordでクエリをキャッシュする小技

Posted at

RailsのQuery Cacheを見ると、発行したSQLはハッシュで管理されており、
発行済の場合は、キャッシュを使うようになっていました。

この考えに従い、以下のようにすると、
見事1回のクエリだけで終わりました。

<% if @user.hoge.present? %>
    <% @user.hoge.order(:created_at.desc).each do |hoge| %>
        XXXXX
    <% end %>
<% end %>

・・・クエリ2回

<% if @user.hoge.order(:created_at.desc).present? %>
    <% @user.hoge.order(:created_at.desc).each do |hoge| %>
        XXXXX
    <% end %>
<% end %>

・・・クエリ1回

本当は変数用意して使えって感じですがね。。

以上、豆知識でした。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3