我想进行查询,但查询速度很慢,我有五个这样的模型:
class Mya < ActiveRecord::Base
has_many :mybs
end
class Myd < ActiveRecord::Base
belongs_to :myc
end
class Myc < ActiveRecord::Base
belongs_to :myb
has_many :myds
has_many :myes
end
class Myd < ActiveRecord::Base
belongs_to :myc
end
class Mye < ActiveRecord::Base
belongs_to :myc
end
然后,我向MySQL插入了一些测试数据(种子)。
mya=Mya.create!(title: 'first test')
i=0
10.times{
i=i+1
myb=Myb.create!(title: "my_#{i}")
5000.times{
myc=Myc.create!(mya_id: mya.id, myb_id: myb.id)
4.times {
myd=Myd.create!(mya_id: mya.id, myb_id: myb.id, myc_id: myc.id)
mye=Mye.create!(mya_id: mya.id, myb_id: myb.id, myc_id: myc.id)
}
}
}
在我的控制器中,我像这样操作:
def index
@ms = Mya.first.to_json(:include => [{
mybs: {
:include => {
:mycs => {
:include => [:myds, :myes]
}
}
}
}
])
render json: @ms
end
它非常非常慢,求助,谢谢!抱歉我的英语不好。