2

通过我们的短语表进行分页时,返回结果需要很长时间。

在 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

这些加起来显着。有没有办法防止查询空 id?

这是底层模型:

class Phrase < ActiveRecord::Base
  belongs_to :user 
  belongs_to :response, :class_name => "Phrase",  :foreign_key => "next_id"
end
4

1 回答 1

0

在我们的例子中,罪魁祸首隐藏在我们自己的代码中,即在一个太阳黑子块中,它在保存/更新时被调用:

  searchable do
    integer :previous_ids, :multiple => true do
      previous.map { |previous| previous.id }
    end
于 2012-09-18T14:13:33.723 回答