通过我们的Phrase表进行分页时,返回结果需要很长时间。
在sql日志中,我们看到许多对我们没有意义的sql请求:
Phrase Load (7.4ms) SELECT "phrases".* FROM "phrases" WHERE "phrases"."id" IS NULL LIMIT 1
User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."id" IS NULL LIMIT 1
这些显着增加。有没有办法防止查询null id?
这是基础模型:
class Phrase < ActiveRecord::Base
belongs_to :user
belongs_to :response, :class_name => "Phrase", :foreign_key => "next_id"
end
答案 0 :(得分:0)
在我们的案例中,罪魁祸首被证明隐藏在我们自己的代码中,即在太阳黑子块中,在保存/更新时被调用:
searchable do
integer :previous_ids, :multiple => true do
previous.map { |previous| previous.id }
end