大規模なINを使用したPostgresクエリの最適化
このクエリは、フォローしている人が作成した投稿のリストを取得します。フォローできる人の数に制限はありませんが、ほとんどの人は1000人未満をフォローしています。 このスタイルのクエリでは、明らかな最適化は"Post"ID をキャッシュすることですが、残念ながら今のところその時間はありません。 EXPLAIN ANALYZE SELECT "Post"."id", "Post"."actionId", "Post"."commentCount", ... FROM "Posts" AS "Post" INNER JOIN "Users" AS "user" ON "Post"."userId" = "user"."id" LEFT OUTER JOIN "ActivityLogs" AS "activityLog" ON "Post"."activityLogId" = "activityLog"."id" LEFT OUTER JOIN "WeightLogs" AS "weightLog" ON "Post"."weightLogId" = "weightLog"."id" LEFT OUTER JOIN "Workouts" AS "workout" ON …