ARelの「インクルード」などを使用して大幅に高速化できたRailsアプリがあります(考案)
class User < ActiveRecord::Base
has_many :posts
scope :eager, includes(:posts => [:rating, :author, {:tags => [:day, {:foo => :bar}]}] )
end
通話中
@posts = current_user.posts.eager
そのページの負荷を大幅に削減し、クエリの数を非常に大幅に削減します。Rails は、最初に 1 つのクエリで投稿を選択することでこれを行います。
select * from posts where ...
次に、コメントごとに 1 つのクエリではなく、1 つのクエリですべての投稿のすべてのコメントを選択します。
select * from comments where post_id in (6,7,8,9,10,...)
grails に相当するものはありますか? 多くの結合を含むクエリを作成できる条件と名前付きクエリに精通していますが、Grails が「IN」演算子を使用していくつかのクエリを生成することを望んでいます。