1
我試圖讓ActiveRecord的執行下面的查詢:ActiveRecord的:聰明的加入和包括
SELECT A.*, B.*, C.* FROM A INNER JOIN B ON B.ID = B_ID INNER JOIN C ON C.ID = C_ID
存儲數據是相當大的,我需要的最佳性能,因此這特定的查詢。
我有我的模型和查詢,如下所示:
class A < ActiveRecord::Base
belongs_to :b
belongs_to :c
end
A.find :all, :include => [:b, :c], :joins => [:b, :c]
然而這會導致執行以下查詢:
SELECT A FROM A INNER JOIN B ON B.ID = B_ID INNER JOIN C ON C.ID = C_ID
SELECT * FROM B WHERE ID IN (...)
SELECT * FROM C WHERE ID IN (...)
有沒有什麼辦法,使ActiveRecord的聰明與不做的第二個兩疑問?
\
感謝您的回覆。不幸的是,如果我刪除:include,它不會進行急切的加載,這是一個要求。 – 2009-09-24 16:07:34