我有一组Active模型记录。该数组最多可包含约75个对象。然而,该模型复杂,具有多种关联和关系。现在我重写as_json方法只包含必要的字段。这需要大约13秒来加载60个对象。我怎样才能加快速度呢?我已经尝试删除一些更复杂的查询,例如get_vehichles,假设我可以稍后加载,但它似乎没有显着帮助性能。
z-a
端
答案 0 :(得分:0)
我不确定我是否会把你带到这里,但我会给你一个挖掘
require 'oj'
def get_vehicles
vehicles = self.appointment_vehicles.map do |av|
{
appointment_vehicle: av,
total_amount: av.total_amount,
vehicle: av.vehicle,
package_display_title: av.package.display_title,
package_amount: av.package.amount,
upgrades: self.get_upgrades(av.upgrades)
}
end
vehicles
# Oj.dump(vehicles) <-- if you need this hash as json
end
那是怎么回事?
除此之外,activerecord查询将占用最多的时间。如果您可以共享它在检索记录时执行的SQL查询,那么它会很好吗?