actions
450,000 を超えるレコードを含むテーブルがあります。actions
テーブルにテーブルを結合したいusers
(実際には、テーブルに結合する前に、他の 2 つのテーブルを結合し、そのうちの 1 つは他のテーブルに結合され、もう 1 つはテーブルに結合されusers
ますactions
)。SQL クエリは次のようになります。
SELECT "users".* FROM "users" INNER JOIN "campaigns" ON "campaigns"."user_id" = "users"."id" INNER JOIN "books" ON "books"."campaign_id" = "campaigns"."id" INNER JOIN "actions" ON "actions"."book_id" = "books"."id" AND "actions"."type" IN ('Impression')
ただし、レールでこのクエリを実行すると、テーブル内の多数のレコードが原因でアプリがハングしactions
ます。
これをどのように処理すればよいですか?