Rails Includes ist eine Methode, mit der die Anzahl der Zugriffe beim Abrufen von Daten aus mehreren verwandten Tabellen erheblich reduziert werden kann.
ruby.rb
@events = @events.includes(:member)
Wenn Sie der Includes-Methode den Namen der Zuordnung geben, wird diese unmittelbar nach der eigentlichen Abfrage zugeordnet. Es wurde eine Abfrage ausgegeben, um Modellobjekte in großen Mengen abzurufen. Im obigen Beispiel: Es wird eine Abfrage ausgegeben, um die Mitgliedsobjekte in großen Mengen abzurufen.
Mit Blick auf die ausgegebene SQL ...
SELECT "staff_members".*FROM "staff_members"
WHERE "staff_members"."id" IN (1,2,3,4,5)
Ein solches SQL wird ausgegeben. Mit anderen Worten, verwenden Sie die where-Klausel, anstatt eine nach der anderen auszuwählen. Eine bequeme Methode, die das N + 1-Problem löst, indem SQL in einem Stapel ausgegeben wird.
Recommended Posts