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

これらは大幅に加算されます。null 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 に答える